1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
diff -u usr/bin/schleuder dev/bin/schleuder
--- usr/bin/schleuder
+++ usr/dev/schleuder
@@ -44,8 +44,12 @@
arg = ARGV.shift
if arg == '-test'
process_test(ARGV)
- elsif arg =~ /[A-Za-z0-9]+/
- process_list(arg.gsub(/-(sendkey|bounces)$/, ''))
+ elsif arg =~ /[A-Za-z0-9]+/
+ l,d = arg.split('#')
+ l = l.gsub(/-(sendkey|bounce)$/, '')
+ list = l
+ list += '@' + d unless d.nil?
+ process_list(list)
else
usage
end
diff -u usr/bin/schleuder-newlist dev/bin/schleuder-newlist
--- usr/bin/schleuder-newlist
+++ dev/bin/schleuder-newlist
@@ -128,17 +128,19 @@
end
# Verify init member
- Schleuder.log.debug "Verifying init member..."
- list_initmember = ListCreator::verify_emailvar(
- args[:list_initmember] || '',
- interactive,
- "Email address of the lists' initial member"
- )
- list_initmemberkey = ListCreator::verify_filevar(
- args[:list_initmemberkey] || '',
- interactive,
- "the public key of the lists' initial member"
- )
+ unless args[:list_initmember].nil? and args[:list_initmemberkey].nil? and !interactive
+ Schleuder.log.debug "Verifying init member..."
+ list_initmember = ListCreator::verify_emailvar(
+ args[:list_initmember],
+ interactive,
+ "Email address of the lists' initial member"
+ )
+ list_initmemberkey = ListCreator::verify_filevar(
+ args[:list_initmemberkey],
+ interactive,
+ "the public key of the lists' initial member"
+ )
+ end
Schleuder.log.debug "Arguments verified..."
Schleuder.log.debug "Initialize list..."
@@ -162,10 +164,8 @@
Schleuder.log.debug "Import list's keypair..."
ListCreator::import_keypair(list,list_privatekeyfile,list_publickeyfile)
end
- if (list_initmember != 'none' and list_initmemberkey != 'none') then
- Schleuder.log.debug "Add initmember to list..."
- ListCreator::add_init_member(list,list_initmember,list_initmemberkey)
- end
+ Schleuder.log.debug "Add initmember to list..."
+ ListCreator::add_init_member(list,list_initmember,list_initmemberkey)
# store the config
Schleuder.log.debug "Store list config..."
list.config = list.config
@@ -185,8 +185,12 @@
end
def self.add_init_member(list,list_initmember,list_initmemberkey)
- Schleuder::Crypt.new(list.config.gpg_password).add_key_from_file(list_initmemberkey)
- list.members = Array.new(1,Schleuder::Member.new({ :email => list_initmember }))
+ if list_initmember.nil?
+ list.members = Array.new
+ else
+ Schleuder::Crypt.new(list.config.gpg_password).add_key_from_file(list_initmemberkey) unless list_initmemberkey.nil?
+ list.members = Array.new(1,Schleuder::Member.new({ :email => list_initmember }))
+ end
end
def self.verify_strvar(var,interactive,question)
diff -u usr/lib/ruby/1.8/schleuder/list.rb dev/lib/ruby/1.8/schleuder/list.rb
--- usr/lib/ruby/1.8/schleuder/list.rb
+++ dev/lib/ruby/1.8/schleuder/list.rb
@@ -31,12 +31,13 @@
file = File.join(@listdir, Schleuder.config.lists_memberfile)
@log.debug("reading #{file}")
@_members = []
- YAML::load_file(file).each do |h|
+ yaml = YAML::load_file(file)
+ yaml.each do |h|
unless h.kind_of? Schleuder::Member
h = Schleuder::Member.new(h)
end
@_members << h
- end
+ end unless yaml.nil?
end
@_members
end
|