]> nos-oignons.net Git - gestion-adh.git/blob - features/support/mock_mailman/add_members
Update mail >= 2.8 to get compatibility with Ruby 3.1
[gestion-adh.git] / features / support / mock_mailman / add_members
1 #!/usr/bin/ruby
2 #-*- coding: utf-8 -*-
3 #
4 # Système de gestion des adhésions de Nos oignons
5 # Copyright © 2013-2014 Nos oignons <contact@nos-oignons.net>
6 #
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU Affero General Public License as
9 # published by the Free Software Foundation, either version 3 of the
10 # License, or (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU Affero General Public License for more details.
16 #
17 # You should have received a copy of the GNU Affero General Public License
18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
20 require 'json'
21
22 db = ENV['MOCK_MAILMAN_DB']
23
24 lists = JSON.load(File.read(db))
25 if ARGV[0] != '-r'
26   $stderr.puts "Bad call"
27   exit 1
28 else
29   emails = (ARGV[1] == '-' ? $stdin : File.open(ARGV[1])).read.split
30   lists[ARGV[2]] = (lists[ARGV[2]] || []) + emails
31 end
32 File.open(db, 'w') { |f| f.write(JSON.dump(lists)) }