tmail 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +50 -5
- data/MANIFEST +188 -0
- data/NOTES +1 -1
- data/README +10 -4
- data/Rakefile +1 -10
- data/lib/tmail.rb +1 -0
- data/lib/tmail/Makefile +0 -1
- data/lib/tmail/address.rb +190 -17
- data/lib/tmail/attachments.rb +1 -1
- data/lib/tmail/base64.rb +4 -10
- data/lib/tmail/compat.rb +8 -6
- data/lib/tmail/config.rb +2 -6
- data/lib/tmail/core_extensions.rb +14 -18
- data/lib/tmail/encode.rb +47 -12
- data/lib/tmail/header.rb +7 -10
- data/lib/tmail/index.rb +2 -1
- data/lib/tmail/interface.rb +14 -12
- data/lib/tmail/loader.rb +2 -0
- data/lib/tmail/mail.rb +83 -24
- data/lib/tmail/mailbox.rb +70 -10
- data/lib/tmail/main.rb +2 -0
- data/lib/tmail/mbox.rb +2 -0
- data/lib/tmail/net.rb +16 -15
- data/lib/tmail/obsolete.rb +7 -12
- data/lib/tmail/parser.rb +1 -0
- data/lib/tmail/require_arch.rb +2 -0
- data/lib/tmail/scanner.rb +2 -1
- data/lib/tmail/scanner_r.rb +11 -10
- data/lib/tmail/utils.rb +83 -26
- data/lib/tmail/version.rb +3 -2
- data/log/BugTrackingLog.txt +1208 -0
- data/log/{ChangeLog.txt → Changelog-0.txt} +36 -0
- data/log/Changelog.txt +534 -0
- data/log/Testlog.txt +114 -0
- data/log/Todo.txt +0 -2
- data/meta/VERSION +1 -0
- data/meta/project.yaml +8 -5
- data/meta/unixname +1 -0
- data/setup.rb +1481 -0
- data/site/contributing/index.html +183 -0
- data/site/css/clean.css +27 -0
- data/site/css/layout.css +31 -0
- data/site/css/style.css +60 -0
- data/site/download/index.html +61 -0
- data/site/img/envelope.jpg +0 -0
- data/site/img/mailman.gif +0 -0
- data/site/img/stamp-sm.jpg +0 -0
- data/site/img/stamp.jpg +0 -0
- data/site/img/stampborder.jpg +0 -0
- data/site/img/tfire.jpg +0 -0
- data/site/img/tmail.png +0 -0
- data/site/index.html +270 -0
- data/site/js/jquery.js +31 -0
- data/site/log/Changelog.xsl +33 -0
- data/site/log/changelog.xml +1677 -0
- data/site/outdated/BUGS +3 -0
- data/site/outdated/DEPENDS +1 -0
- data/site/outdated/Incompatibilities +89 -0
- data/site/outdated/Incompatibilities.ja +102 -0
- data/site/outdated/NEWS +9 -0
- data/site/outdated/README.ja +73 -0
- data/site/outdated/doc.ja/address.html +275 -0
- data/site/outdated/doc.ja/basics.html +405 -0
- data/site/outdated/doc.ja/config.html +49 -0
- data/site/outdated/doc.ja/details.html +146 -0
- data/site/outdated/doc.ja/index.html +39 -0
- data/site/outdated/doc.ja/mail.html +793 -0
- data/site/outdated/doc.ja/mailbox.html +265 -0
- data/site/outdated/doc.ja/port.html +95 -0
- data/site/outdated/doc.ja/tmail.html +58 -0
- data/site/outdated/doc.ja/usage.html +202 -0
- data/site/outdated/rdd/address.rrd.m +229 -0
- data/site/outdated/rdd/basics.rd.m +275 -0
- data/site/outdated/rdd/config.rrd.m +26 -0
- data/site/outdated/rdd/details.rd.m +117 -0
- data/site/outdated/rdd/index.rhtml.m +54 -0
- data/site/outdated/rdd/mail.rrd.m +701 -0
- data/site/outdated/rdd/mailbox.rrd.m +228 -0
- data/site/outdated/rdd/port.rrd.m +69 -0
- data/site/outdated/rdd/tmail.rrd.m +33 -0
- data/site/outdated/rdd/usage.rd.m +247 -0
- data/site/quickstart/index.html +69 -0
- data/site/quickstart/quickstart.html +52 -0
- data/site/quickstart/usage.html +193 -0
- data/site/reference/address.html +247 -0
- data/site/reference/config.html +30 -0
- data/site/reference/index.html +101 -0
- data/site/reference/mail.html +726 -0
- data/site/reference/mailbox.html +245 -0
- data/site/reference/port.html +75 -0
- data/site/reference/tmail.html +35 -0
- data/test/fixtures/mailbox +405 -4
- data/test/fixtures/raw_email_multiple_from +30 -0
- data/test/kcode.rb +2 -2
- data/test/temp_test_one.rb +46 -0
- data/test/test_address.rb +77 -38
- data/test/test_encode.rb +0 -2
- data/test/test_header.rb +47 -24
- data/test/test_mail.rb +52 -9
- data/test/test_mbox.rb +28 -0
- data/test/test_port.rb +33 -27
- data/test/test_quote.rb +35 -8
- data/work/script/make +26 -0
- data/work/script/rdoc +39 -0
- data/{script → work/script}/setup +0 -0
- data/work/script/test +30 -0
- metadata +249 -184
- data/log/History.txt +0 -40
- data/meta/config.yaml +0 -8
- data/meta/icli.yaml +0 -16
- data/meta/tmail.roll +0 -3
- data/script/changelog +0 -19
- data/script/clobber/distclean +0 -8
- data/script/clobber/package +0 -10
- data/script/compile +0 -32
- data/script/pack/gem +0 -93
- data/script/pack/tgz +0 -41
- data/script/pack/zip +0 -41
- data/script/prepare +0 -15
- data/script/publish +0 -51
- data/script/rdoc +0 -42
- data/script/release +0 -10
- data/script/stamp +0 -33
- data/script/stats +0 -138
- data/script/tag +0 -25
- data/script/test +0 -36
data/test/test_mail.rb
CHANGED
@@ -21,17 +21,25 @@ class TestMail < Test::Unit::TestCase
|
|
21
21
|
|
22
22
|
def test_MIME
|
23
23
|
# FIXME: test more.
|
24
|
-
|
24
|
+
|
25
25
|
kcode('EUC') {
|
26
26
|
mail = TMail::Mail.parse('From: hoge@example.jp (=?iso-2022-jp?B?GyRCJUYlOSVIGyhC?=)')
|
27
27
|
assert_not_nil mail['From']
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
assert_equal
|
34
|
-
|
28
|
+
|
29
|
+
expected = "\245\306\245\271\245\310"
|
30
|
+
if expected.respond_to? :force_encoding
|
31
|
+
expected.force_encoding(mail['From'].comments.first.encoding)
|
32
|
+
end
|
33
|
+
assert_equal [expected], mail['From'].comments
|
34
|
+
|
35
|
+
expected = "From: hoge@example.jp (\245\306\245\271\245\310)\n\n"
|
36
|
+
expected.force_encoding 'EUC-JP' if expected.respond_to? :force_encoding
|
37
|
+
assert_equal expected, mail.to_s
|
38
|
+
assert_equal expected, mail.decoded
|
39
|
+
|
40
|
+
expected = "From: hoge@example.jp (=?iso-2022-jp?B?GyRCJUYlOSVIGyhC?=)\r\n\r\n"
|
41
|
+
expected.force_encoding 'EUC-JP' if expected.respond_to? :force_encoding
|
42
|
+
assert_equal expected, mail.encoded
|
35
43
|
}
|
36
44
|
end
|
37
45
|
|
@@ -247,6 +255,11 @@ EOS
|
|
247
255
|
a = @mail.from
|
248
256
|
assert_equal nil, @mail.from
|
249
257
|
assert_equal 'DEFAULT VALUE', @mail.from('DEFAULT VALUE')
|
258
|
+
|
259
|
+
@mail.from = "raasdnil@gmail.com, mikel@me.com"
|
260
|
+
assert_equal 2, @mail['from'].addrs.size
|
261
|
+
assert_equal 'raasdnil@gmail.com', @mail['from'].addrs[0].spec
|
262
|
+
assert_equal 'mikel@me.com', @mail['from'].addrs[1].spec
|
250
263
|
end
|
251
264
|
|
252
265
|
def test_reply_to
|
@@ -479,7 +492,11 @@ EOF
|
|
479
492
|
output = <<EOF
|
480
493
|
From: mikel@example.com
|
481
494
|
Subject: Hello
|
482
|
-
|
495
|
+
#{if RUBY_VERSION < '1.9'
|
496
|
+
'Content-Type: multipart/signed; protocol="application/pkcs7-signature"; boundary=Apple-Mail-42-587703407; micalg=sha1'
|
497
|
+
else
|
498
|
+
'Content-Type: multipart/signed; micalg=sha1; boundary=Apple-Mail-42-587703407; protocol="application/pkcs7-signature"'
|
499
|
+
end}
|
483
500
|
|
484
501
|
The body
|
485
502
|
EOF
|
@@ -697,4 +714,30 @@ EOF
|
|
697
714
|
assert_equal "application/pkcs7-signature", mail.attachments.last.content_type
|
698
715
|
end
|
699
716
|
|
717
|
+
def test_preamble_read
|
718
|
+
fixture = File.read("#{File.dirname(__FILE__)}/fixtures/raw_email4")
|
719
|
+
mail = TMail::Mail.parse(fixture)
|
720
|
+
assert_equal 'This is a multi-part message in MIME format.', mail.preamble.strip
|
721
|
+
end
|
722
|
+
|
723
|
+
def test_preamble_write
|
724
|
+
mail = TMail::Mail.new
|
725
|
+
part = TMail::Mail.parse("Content-Type: text/plain\n\nBlah")
|
726
|
+
mail.parts << part
|
727
|
+
mail.preamble = 'This is the preamble'
|
728
|
+
# normalize the boundary to something non-random to assert against
|
729
|
+
str = mail.encoded
|
730
|
+
result = str.gsub(str[/boundary="(.*?)"/, 1], 'boundary')
|
731
|
+
expected =<<EOF
|
732
|
+
Content-Type: multipart/mixed; boundary="boundary"
|
733
|
+
|
734
|
+
This is the preamble
|
735
|
+
--boundary
|
736
|
+
Content-Type: text/plain
|
737
|
+
|
738
|
+
Blah
|
739
|
+
--boundary--
|
740
|
+
EOF
|
741
|
+
assert_equal(crlf(expected), result)
|
742
|
+
end
|
700
743
|
end
|
data/test/test_mbox.rb
CHANGED
@@ -144,4 +144,32 @@ class MailboxTester < Test::Unit::TestCase
|
|
144
144
|
assert_equal(TMail::UNIXMbox.fromaddr(p), "nobody")
|
145
145
|
end
|
146
146
|
|
147
|
+
def test_opening_mailbox_to_read_does_not_raise_IO_error
|
148
|
+
mailbox = TMail::UNIXMbox.new("#{File.dirname(__FILE__)}/fixtures/mailbox", nil, true)
|
149
|
+
assert_nothing_raised do
|
150
|
+
mailbox.each_port do |port|
|
151
|
+
TMail::Mail.new(port)
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
def test_reading_correct_number_of_emails_from_a_mailbox
|
157
|
+
mailbox = TMail::UNIXMbox.new("#{File.dirname(__FILE__)}/fixtures/mailbox", nil, true)
|
158
|
+
@emails = []
|
159
|
+
mailbox.each_port { |m| @emails << TMail::Mail.new(m) }
|
160
|
+
assert_equal(4, @emails.length)
|
161
|
+
end
|
162
|
+
|
163
|
+
def test_truncating_a_mailbox_to_zero_if_it_is_opened_with_readonly_false
|
164
|
+
filename = "#{File.dirname(__FILE__)}/fixtures/mailbox"
|
165
|
+
FileUtils.copy(filename, "#{filename}_test")
|
166
|
+
filename = "#{filename}_test"
|
167
|
+
mailbox = TMail::UNIXMbox.new(filename, nil, false)
|
168
|
+
@emails = []
|
169
|
+
mailbox.each_port { |m| @emails << TMail::Mail.new(m) }
|
170
|
+
assert_equal(4, @emails.length)
|
171
|
+
assert_equal('', File.read(filename))
|
172
|
+
File.delete(filename)
|
173
|
+
end
|
174
|
+
|
147
175
|
end
|
data/test/test_port.rb
CHANGED
@@ -93,10 +93,11 @@ class FilePortTester < Test::Unit::TestCase
|
|
93
93
|
f.close
|
94
94
|
|
95
95
|
f = nil
|
96
|
-
port.ropen {|
|
97
|
-
assert_instance_of File,
|
98
|
-
assert_equal false,
|
99
|
-
assert_equal 'f',
|
96
|
+
port.ropen {|ff|
|
97
|
+
assert_instance_of File, ff
|
98
|
+
assert_equal false, ff.closed?
|
99
|
+
assert_equal 'f', ff.read(1)
|
100
|
+
f = ff
|
100
101
|
}
|
101
102
|
assert_equal true, f.closed?
|
102
103
|
|
@@ -114,14 +115,15 @@ class FilePortTester < Test::Unit::TestCase
|
|
114
115
|
f.close
|
115
116
|
|
116
117
|
f = nil
|
117
|
-
port.wopen {|
|
118
|
-
assert_instance_of File,
|
119
|
-
assert_equal false,
|
120
|
-
|
118
|
+
port.wopen {|ff|
|
119
|
+
assert_instance_of File, ff
|
120
|
+
assert_equal false, ff.closed?
|
121
|
+
ff.puts 'ok'
|
122
|
+
f = ff
|
121
123
|
}
|
122
124
|
assert_equal true, f.closed?
|
123
125
|
|
124
|
-
TMail::FilePort.new('tmp/100').wopen {|
|
126
|
+
TMail::FilePort.new('tmp/100').wopen {|ff| }
|
125
127
|
end
|
126
128
|
|
127
129
|
def test_aopen
|
@@ -133,23 +135,24 @@ class FilePortTester < Test::Unit::TestCase
|
|
133
135
|
f.print 'N'
|
134
136
|
f.close
|
135
137
|
assert_equal size + 1, port.size
|
136
|
-
port.ropen {|
|
137
|
-
assert_equal 'f',
|
138
|
+
port.ropen {|ff|
|
139
|
+
assert_equal 'f', ff.read(1)
|
138
140
|
}
|
139
141
|
|
140
142
|
f = nil
|
141
|
-
port.aopen {|
|
142
|
-
assert_instance_of File,
|
143
|
-
assert_equal false,
|
144
|
-
|
143
|
+
port.aopen {|ff|
|
144
|
+
assert_instance_of File, ff
|
145
|
+
assert_equal false, ff.closed?
|
146
|
+
ff.print 'N'
|
147
|
+
f = ff
|
145
148
|
}
|
146
149
|
assert_equal true, f.closed?
|
147
150
|
assert_equal size + 1 + 1, port.size
|
148
|
-
port.ropen {|
|
149
|
-
assert_equal 'f',
|
151
|
+
port.ropen {|ff|
|
152
|
+
assert_equal 'f', ff.read(1)
|
150
153
|
}
|
151
154
|
|
152
|
-
TMail::FilePort.new('tmp/100').aopen {|
|
155
|
+
TMail::FilePort.new('tmp/100').aopen {|ff| }
|
153
156
|
end
|
154
157
|
|
155
158
|
def test_read_all
|
@@ -258,9 +261,10 @@ class StringPortTester < Test::Unit::TestCase
|
|
258
261
|
assert_equal 'a', f.read(1)
|
259
262
|
f.close
|
260
263
|
|
261
|
-
port.ropen {|
|
262
|
-
assert_equal false,
|
263
|
-
assert_equal 'a',
|
264
|
+
port.ropen {|ff|
|
265
|
+
assert_equal false, ff.closed?
|
266
|
+
assert_equal 'a', ff.read(1)
|
267
|
+
f = ff
|
264
268
|
}
|
265
269
|
assert_equal true, f.closed?
|
266
270
|
end
|
@@ -273,9 +277,10 @@ class StringPortTester < Test::Unit::TestCase
|
|
273
277
|
f.close
|
274
278
|
assert_equal 'N', port.read_all
|
275
279
|
|
276
|
-
port.wopen {|
|
277
|
-
assert_equal false,
|
278
|
-
|
280
|
+
port.wopen {|ff|
|
281
|
+
assert_equal false, ff.closed?
|
282
|
+
ff.print 'NN'
|
283
|
+
f = ff
|
279
284
|
}
|
280
285
|
assert_equal true, f.closed?
|
281
286
|
assert_equal 'NN', port.read_all
|
@@ -289,9 +294,10 @@ class StringPortTester < Test::Unit::TestCase
|
|
289
294
|
f.close
|
290
295
|
assert_equal 'abcN', port.read_all
|
291
296
|
|
292
|
-
port.aopen {|
|
293
|
-
assert_equal false,
|
294
|
-
|
297
|
+
port.aopen {|ff|
|
298
|
+
assert_equal false, ff.closed?
|
299
|
+
ff.print 'F'
|
300
|
+
f = ff
|
295
301
|
}
|
296
302
|
assert_equal true, f.closed?
|
297
303
|
assert_equal 'abcNF', port.read_all
|
data/test/test_quote.rb
CHANGED
@@ -5,31 +5,41 @@ class TestQuote < Test::Unit::TestCase
|
|
5
5
|
def test_unquote_quoted_printable
|
6
6
|
a ="=?ISO-8859-1?Q?[166417]_Bekr=E6ftelse_fra_Rejsefeber?="
|
7
7
|
b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
|
8
|
-
|
8
|
+
expected = "[166417] Bekr\303\246ftelse fra Rejsefeber"
|
9
|
+
expected.force_encoding 'utf-8' if expected.respond_to? :force_encoding
|
10
|
+
assert_equal expected, b
|
9
11
|
end
|
10
12
|
|
11
13
|
def test_unquote_base64
|
12
14
|
a ="=?ISO-8859-1?B?WzE2NjQxN10gQmVrcuZmdGVsc2UgZnJhIFJlanNlZmViZXI=?="
|
13
15
|
b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
|
14
|
-
|
16
|
+
expected = "[166417] Bekr\303\246ftelse fra Rejsefeber"
|
17
|
+
expected.force_encoding 'utf-8' if expected.respond_to? :force_encoding
|
18
|
+
assert_equal expected, b
|
15
19
|
end
|
16
20
|
|
17
21
|
def test_unquote_without_charset
|
18
22
|
a ="[166417]_Bekr=E6ftelse_fra_Rejsefeber"
|
19
23
|
b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
|
20
|
-
|
24
|
+
expected = "[166417]_Bekr=E6ftelse_fra_Rejsefeber"
|
25
|
+
expected.force_encoding 'utf-8' if expected.respond_to? :force_encoding
|
26
|
+
assert_equal expected, b
|
21
27
|
end
|
22
28
|
|
23
29
|
def test_unqoute_multiple
|
24
30
|
a ="=?utf-8?q?Re=3A_=5B12=5D_=23137=3A_Inkonsistente_verwendung_von_=22Hin?==?utf-8?b?enVmw7xnZW4i?="
|
25
31
|
b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
|
26
|
-
|
32
|
+
expected = "Re: [12] #137: Inkonsistente verwendung von \"Hinzuf\303\274gen\""
|
33
|
+
expected.force_encoding 'utf-8' if expected.respond_to? :force_encoding
|
34
|
+
assert_equal expected, b
|
27
35
|
end
|
28
36
|
|
29
37
|
def test_unqoute_in_the_middle
|
30
38
|
a ="Re: Photos =?ISO-8859-1?Q?Brosch=FCre_Rand?="
|
31
39
|
b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
|
32
|
-
|
40
|
+
expected = "Re: Photos Brosch\303\274re Rand"
|
41
|
+
expected.force_encoding 'utf-8' if expected.respond_to? :force_encoding
|
42
|
+
assert_equal expected, b
|
33
43
|
end
|
34
44
|
|
35
45
|
def test_unqoute_iso
|
@@ -39,6 +49,14 @@ class TestQuote < Test::Unit::TestCase
|
|
39
49
|
expected.force_encoding 'iso-8859-1' if expected.respond_to? :force_encoding
|
40
50
|
assert_equal expected, b
|
41
51
|
end
|
52
|
+
|
53
|
+
def test_quote_multibyte_chars
|
54
|
+
original = "\303\246 \303\270 and \303\245"
|
55
|
+
unquoted = TMail::Unquoter.unquote_and_convert_to(original, nil)
|
56
|
+
original.force_encoding 'utf-8' if original.respond_to? :force_encoding
|
57
|
+
unquoted.force_encoding 'utf-8' if unquoted.respond_to? :force_encoding
|
58
|
+
assert_equal unquoted, original
|
59
|
+
end
|
42
60
|
|
43
61
|
# test an email that has been created using \r\n newlines, instead of
|
44
62
|
# \n newlines.
|
@@ -49,7 +67,9 @@ class TestQuote < Test::Unit::TestCase
|
|
49
67
|
|
50
68
|
def test_email_with_partially_quoted_subject
|
51
69
|
mail = TMail::Mail.parse(IO.read("#{File.dirname(__FILE__)}/fixtures/raw_email_with_partially_quoted_subject"))
|
52
|
-
|
70
|
+
expected = "Re: Test: \"\346\274\242\345\255\227\" mid \"\346\274\242\345\255\227\" tail"
|
71
|
+
expected.force_encoding 'utf-8' if expected.respond_to? :force_encoding
|
72
|
+
assert_equal expected, mail.subject
|
53
73
|
end
|
54
74
|
|
55
75
|
def test_decode
|
@@ -59,13 +79,20 @@ class TestQuote < Test::Unit::TestCase
|
|
59
79
|
|
60
80
|
def test_encode
|
61
81
|
encoded, decoded = expected_base64_strings
|
62
|
-
assert_equal encoded
|
82
|
+
assert_equal encoded, TMail::Base64.encode(decoded)
|
63
83
|
end
|
64
84
|
|
65
85
|
private
|
66
86
|
|
67
87
|
def expected_base64_strings
|
68
|
-
|
88
|
+
if RUBY_VERSION < '1.9'
|
89
|
+
options = "r"
|
90
|
+
else
|
91
|
+
options = "r:ASCII-8BIT"
|
92
|
+
end
|
93
|
+
encoded = File.open("#{File.dirname(__FILE__)}/fixtures/raw_base64_encoded_string", options) {|f| f.read }
|
94
|
+
decoded = File.open("#{File.dirname(__FILE__)}/fixtures/raw_base64_decoded_string", options) {|f| f.read }
|
95
|
+
[encoded, decoded]
|
69
96
|
end
|
70
97
|
|
71
98
|
end
|
data/work/script/make
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
Dir.chdir("ext/tmailscanner/tmail") do
|
4
|
+
unless File.exist?('Makefile')
|
5
|
+
system "ruby extconf.rb"
|
6
|
+
end
|
7
|
+
|
8
|
+
unless ARGV[0] == 'setup'
|
9
|
+
system "make #{ARGV.join(' ')}"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
# Eric Hodel said NOT do this.
|
15
|
+
#
|
16
|
+
#cp "ext/xml/*.#{dlext}", "lib/xml/#{arch}/"
|
17
|
+
#
|
18
|
+
#
|
19
|
+
#def dlext
|
20
|
+
# Config::CONFIG['DLEXT']
|
21
|
+
#end
|
22
|
+
#
|
23
|
+
#def arch
|
24
|
+
# Config::CONFIG['arch']
|
25
|
+
#end
|
26
|
+
|
data/work/script/rdoc
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
# generate rdocs
|
6
|
+
|
7
|
+
def rdoc
|
8
|
+
template = 'html'
|
9
|
+
output = 'doc/rdoc'
|
10
|
+
FileUtils.rm_r(output) if File.exist?(output)
|
11
|
+
system "rdoc --op #{output} --template #{template} --main README --merge --inline-source [A-Z]* lib/**/*.rb ext/**/*.c"
|
12
|
+
#insert_ads(output)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Insert an ad if available.
|
16
|
+
|
17
|
+
def insert_ads(site)
|
18
|
+
adfile = 'doc/ads/rdoc.html'
|
19
|
+
return unless File.file?(adfile)
|
20
|
+
adtext = File.read(adfile)
|
21
|
+
#puts
|
22
|
+
dirs = Dir.glob(File.join(site,'*/'))
|
23
|
+
dirs.each do |dir|
|
24
|
+
files = Dir.glob(File.join(dir, '**/*.html'))
|
25
|
+
files.each do |file|
|
26
|
+
html = file_read(file)
|
27
|
+
bodi = html.index('<body>')
|
28
|
+
html[bodi + 7] = "\n" + adtext
|
29
|
+
#print "Augmenting #{file}..."
|
30
|
+
file_write(file, html) unless dryrun?
|
31
|
+
#puts "[done]"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
if $0 == __FILE__
|
37
|
+
rdoc
|
38
|
+
end
|
39
|
+
|
File without changes
|
data/work/script/test
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# TODO: Ensure compile first (but only if needed)
|
4
|
+
# system "task/make"
|
5
|
+
|
6
|
+
# Run unit tests
|
7
|
+
|
8
|
+
live = ARGV.include?('--live')
|
9
|
+
pure = ARGV.include?('--pure') # pure won't work if live.
|
10
|
+
|
11
|
+
unless live
|
12
|
+
$LOAD_PATH.unshift(File.expand_path('lib'))
|
13
|
+
$LOAD_PATH.unshift(File.expand_path('ext/tmailscanner')) unless pure
|
14
|
+
end
|
15
|
+
$LOAD_PATH.unshift('test') # NEEDED?
|
16
|
+
|
17
|
+
unless glob = ARGV.select{ |a| a !~ /^[-]/ }[0]
|
18
|
+
glob = 'test/test_*.rb'
|
19
|
+
end
|
20
|
+
|
21
|
+
Dir[glob].each do |file|
|
22
|
+
next if File.directory?(file)
|
23
|
+
begin
|
24
|
+
puts "Loading: #{file}" if $DEBUG
|
25
|
+
load(file)
|
26
|
+
rescue LoadError
|
27
|
+
puts "Error loading: #{file}"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
metadata
CHANGED
@@ -1,231 +1,296 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4.6
|
3
|
-
specification_version: 2
|
4
2
|
name: tmail
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.2.
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
- lib
|
11
|
-
- ext/tmail
|
12
|
-
email: tmail-talk@rubyforge.org
|
13
|
-
homepage:
|
14
|
-
rubyforge_project:
|
15
|
-
description: TMail is a Ruby-based mail handler. It allows you to compose stadards compliant emails in a very Ruby-way.
|
4
|
+
version: 1.2.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Mikel Lindsaar <raasdnil AT gmail.com>
|
16
8
|
autorequire:
|
17
|
-
default_executable:
|
18
9
|
bindir: bin
|
19
|
-
has_rdoc:
|
20
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
21
|
-
requirements:
|
22
|
-
- - ">="
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version: "0"
|
25
|
-
version:
|
26
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
27
|
-
requirements:
|
28
|
-
- - ">="
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: "0"
|
31
|
-
version:
|
32
|
-
platform: ruby
|
33
|
-
signing_key:
|
34
10
|
cert_chain: []
|
35
11
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
12
|
+
date: 2008-03-08 00:00:00 -05:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: TMail is a Ruby-based mail handler. It allows you to compose stadards compliant emails in a very Ruby-way.
|
17
|
+
email: raasdnil AT gmail.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions:
|
21
|
+
- ext/tmailscanner/tmail/extconf.rb
|
22
|
+
extra_rdoc_files:
|
23
|
+
- README
|
24
|
+
- Rakefile
|
25
|
+
- MANIFEST
|
26
|
+
- NOTES
|
27
|
+
- CHANGES
|
28
|
+
- LICENSE
|
40
29
|
files:
|
30
|
+
- Rakefile
|
31
|
+
- doc
|
41
32
|
- test
|
33
|
+
- test/temp_test_one.rb
|
34
|
+
- test/kcode.rb
|
35
|
+
- test/test_utils.rb
|
36
|
+
- test/test_attachments.rb
|
37
|
+
- test/test_encode.rb
|
38
|
+
- test/test_mbox.rb
|
39
|
+
- test/test_helper.rb
|
40
|
+
- test/test_header.rb
|
41
|
+
- test/test_base64.rb
|
42
|
+
- test/test_address.rb
|
42
43
|
- test/fixtures
|
43
|
-
- test/fixtures/raw_email_quoted_with_0d0a
|
44
|
-
- test/fixtures/raw_email2
|
45
|
-
- test/fixtures/raw_email3
|
46
|
-
- test/fixtures/raw_email4
|
47
|
-
- test/fixtures/raw_email5
|
48
|
-
- test/fixtures/raw_email6
|
49
|
-
- test/fixtures/raw_email7
|
50
|
-
- test/fixtures/raw_email_with_illegal_boundary
|
51
44
|
- test/fixtures/raw_email8
|
52
|
-
- test/fixtures/
|
53
|
-
- test/fixtures/raw_base64_decoded_string
|
54
|
-
- test/fixtures/raw_email
|
55
|
-
- test/fixtures/raw_email10
|
56
|
-
- test/fixtures/raw_email11
|
57
|
-
- test/fixtures/raw_email12
|
45
|
+
- test/fixtures/raw_email_simple
|
58
46
|
- test/fixtures/raw_email13
|
59
|
-
- test/fixtures/
|
47
|
+
- test/fixtures/raw_email5
|
48
|
+
- test/fixtures/mailbox_without_any_from_or_sender
|
49
|
+
- test/fixtures/raw_email4
|
50
|
+
- test/fixtures/mailbox
|
60
51
|
- test/fixtures/raw_email_with_nested_attachment
|
61
|
-
- test/fixtures/
|
62
|
-
- test/fixtures/
|
63
|
-
- test/fixtures/
|
64
|
-
- test/fixtures/raw_email_simple
|
65
|
-
- test/fixtures/raw_base64_email
|
66
|
-
- test/fixtures/raw_email_with_bad_date
|
67
|
-
- test/fixtures/raw_email_reply
|
52
|
+
- test/fixtures/raw_email
|
53
|
+
- test/fixtures/raw_email_quoted_with_0d0a
|
54
|
+
- test/fixtures/raw_base64_decoded_string
|
68
55
|
- test/fixtures/mailbox_without_return_path
|
69
|
-
- test/fixtures/
|
56
|
+
- test/fixtures/raw_email3
|
57
|
+
- test/fixtures/raw_email_reply
|
58
|
+
- test/fixtures/raw_email_with_bad_date
|
70
59
|
- test/fixtures/mailbox_without_from
|
71
|
-
- test/fixtures/
|
72
|
-
- test/
|
73
|
-
- test/
|
60
|
+
- test/fixtures/raw_email_multiple_from
|
61
|
+
- test/fixtures/raw_email10
|
62
|
+
- test/fixtures/raw_email_with_quoted_illegal_boundary
|
63
|
+
- test/fixtures/raw_base64_email
|
64
|
+
- test/fixtures/raw_email_with_partially_quoted_subject
|
65
|
+
- test/fixtures/raw_email9
|
66
|
+
- test/fixtures/raw_email2
|
67
|
+
- test/fixtures/raw_email11
|
68
|
+
- test/fixtures/raw_email_with_multipart_mixed_quoted_boundary
|
69
|
+
- test/fixtures/raw_email_with_illegal_boundary
|
70
|
+
- test/fixtures/raw_email6
|
71
|
+
- test/fixtures/raw_email7
|
72
|
+
- test/fixtures/raw_base64_encoded_string
|
73
|
+
- test/fixtures/raw_email12
|
74
74
|
- test/test_mail.rb
|
75
|
-
- test/extctrl.rb
|
76
|
-
- test/kcode.rb
|
77
|
-
- test/test_base64.rb
|
78
|
-
- test/test_port.rb
|
79
|
-
- test/test_address.rb
|
80
|
-
- test/test_mbox.rb
|
81
|
-
- test/test_header.rb
|
82
75
|
- test/test_scanner.rb
|
83
|
-
- test/
|
84
|
-
- test/
|
76
|
+
- test/test_port.rb
|
77
|
+
- test/extctrl.rb
|
85
78
|
- test/test_quote.rb
|
86
|
-
-
|
87
|
-
-
|
88
|
-
-
|
89
|
-
- sample/data/multipart
|
90
|
-
- sample/data/normal
|
91
|
-
- sample/data/sendtest
|
92
|
-
- sample/data/simple
|
93
|
-
- sample/from-check.rb
|
94
|
-
- sample/multipart.rb
|
95
|
-
- sample/parse-bench.rb
|
96
|
-
- sample/parse-test.rb
|
97
|
-
- sample/extract-attachements.rb
|
98
|
-
- sample/sendmail.rb
|
99
|
-
- sample/bench_base64.rb
|
79
|
+
- NOTES
|
80
|
+
- CHANGES
|
81
|
+
- LICENSE
|
100
82
|
- README
|
101
83
|
- ext
|
102
|
-
- ext/Makefile
|
103
84
|
- ext/tmailscanner
|
104
85
|
- ext/tmailscanner/tmail
|
105
86
|
- ext/tmailscanner/tmail/depend
|
106
|
-
- ext/tmailscanner/tmail/tmailscanner.c
|
107
87
|
- ext/tmailscanner/tmail/MANIFEST
|
108
88
|
- ext/tmailscanner/tmail/extconf.rb
|
109
|
-
-
|
110
|
-
-
|
89
|
+
- ext/tmailscanner/tmail/tmailscanner.c
|
90
|
+
- ext/Makefile
|
91
|
+
- setup.rb
|
92
|
+
- meta
|
93
|
+
- meta/MANIFEST
|
94
|
+
- meta/project.yaml
|
95
|
+
- meta/unixname
|
96
|
+
- meta/VERSION
|
97
|
+
- site
|
98
|
+
- site/img
|
99
|
+
- site/img/tfire.jpg
|
100
|
+
- site/img/stamp.jpg
|
101
|
+
- site/img/tmail.png
|
102
|
+
- site/img/mailman.gif
|
103
|
+
- site/img/envelope.jpg
|
104
|
+
- site/img/stamp-sm.jpg
|
105
|
+
- site/img/stampborder.jpg
|
106
|
+
- site/quickstart
|
107
|
+
- site/quickstart/usage.html
|
108
|
+
- site/quickstart/index.html
|
109
|
+
- site/quickstart/quickstart.html
|
110
|
+
- site/js
|
111
|
+
- site/js/jquery.js
|
112
|
+
- site/outdated
|
113
|
+
- site/outdated/DEPENDS
|
114
|
+
- site/outdated/Incompatibilities
|
115
|
+
- site/outdated/Incompatibilities.ja
|
116
|
+
- site/outdated/README.ja
|
117
|
+
- site/outdated/NEWS
|
118
|
+
- site/outdated/doc.ja
|
119
|
+
- site/outdated/doc.ja/config.html
|
120
|
+
- site/outdated/doc.ja/usage.html
|
121
|
+
- site/outdated/doc.ja/mailbox.html
|
122
|
+
- site/outdated/doc.ja/mail.html
|
123
|
+
- site/outdated/doc.ja/index.html
|
124
|
+
- site/outdated/doc.ja/basics.html
|
125
|
+
- site/outdated/doc.ja/tmail.html
|
126
|
+
- site/outdated/doc.ja/address.html
|
127
|
+
- site/outdated/doc.ja/details.html
|
128
|
+
- site/outdated/doc.ja/port.html
|
129
|
+
- site/outdated/rdd
|
130
|
+
- site/outdated/rdd/mail.rrd.m
|
131
|
+
- site/outdated/rdd/port.rrd.m
|
132
|
+
- site/outdated/rdd/config.rrd.m
|
133
|
+
- site/outdated/rdd/index.rhtml.m
|
134
|
+
- site/outdated/rdd/mailbox.rrd.m
|
135
|
+
- site/outdated/rdd/usage.rd.m
|
136
|
+
- site/outdated/rdd/basics.rd.m
|
137
|
+
- site/outdated/rdd/details.rd.m
|
138
|
+
- site/outdated/rdd/tmail.rrd.m
|
139
|
+
- site/outdated/rdd/address.rrd.m
|
140
|
+
- site/outdated/BUGS
|
141
|
+
- site/index.html
|
142
|
+
- site/contributing
|
143
|
+
- site/contributing/index.html
|
144
|
+
- site/reference
|
145
|
+
- site/reference/config.html
|
146
|
+
- site/reference/mailbox.html
|
147
|
+
- site/reference/mail.html
|
148
|
+
- site/reference/index.html
|
149
|
+
- site/reference/tmail.html
|
150
|
+
- site/reference/address.html
|
151
|
+
- site/reference/port.html
|
152
|
+
- site/css
|
153
|
+
- site/css/layout.css
|
154
|
+
- site/css/style.css
|
155
|
+
- site/css/clean.css
|
156
|
+
- site/download
|
157
|
+
- site/download/index.html
|
158
|
+
- site/log
|
159
|
+
- site/log/changelog.xml
|
160
|
+
- site/log/Changelog.xsl
|
111
161
|
- lib
|
162
|
+
- lib/tmail.rb
|
112
163
|
- lib/tmail
|
113
|
-
- lib/tmail/mail.rb
|
114
|
-
- lib/tmail/compat.rb
|
115
164
|
- lib/tmail/base64.rb
|
116
|
-
- lib/tmail/
|
117
|
-
- lib/tmail/
|
118
|
-
- lib/tmail/net.rb
|
119
|
-
- lib/tmail/header.rb
|
165
|
+
- lib/tmail/loader.rb
|
166
|
+
- lib/tmail/main.rb
|
120
167
|
- lib/tmail/scanner.rb
|
121
|
-
- lib/tmail/
|
122
|
-
- lib/tmail/
|
123
|
-
- lib/tmail/
|
168
|
+
- lib/tmail/require_arch.rb
|
169
|
+
- lib/tmail/config.rb
|
170
|
+
- lib/tmail/port.rb
|
124
171
|
- lib/tmail/encode.rb
|
125
|
-
- lib/tmail/
|
126
|
-
- lib/tmail/
|
172
|
+
- lib/tmail/scanner_r.rb
|
173
|
+
- lib/tmail/parser.rb
|
174
|
+
- lib/tmail/version.rb
|
175
|
+
- lib/tmail/obsolete.rb
|
127
176
|
- lib/tmail/parser.y
|
128
|
-
- lib/tmail/mbox.rb
|
129
|
-
- lib/tmail/config.rb
|
130
177
|
- lib/tmail/quoting.rb
|
131
|
-
- lib/tmail/
|
132
|
-
- lib/tmail/scanner_r.rb
|
178
|
+
- lib/tmail/mbox.rb
|
133
179
|
- lib/tmail/Makefile
|
134
|
-
- lib/tmail/
|
180
|
+
- lib/tmail/stringio.rb
|
181
|
+
- lib/tmail/utils.rb
|
135
182
|
- lib/tmail/interface.rb
|
136
|
-
- lib/tmail/core_extensions.rb
|
137
183
|
- lib/tmail/attachments.rb
|
138
|
-
- lib/tmail/
|
139
|
-
- lib/tmail/
|
140
|
-
- lib/tmail/
|
141
|
-
- lib/tmail.rb
|
142
|
-
-
|
184
|
+
- lib/tmail/index.rb
|
185
|
+
- lib/tmail/mail.rb
|
186
|
+
- lib/tmail/net.rb
|
187
|
+
- lib/tmail/address.rb
|
188
|
+
- lib/tmail/header.rb
|
189
|
+
- lib/tmail/compat.rb
|
190
|
+
- lib/tmail/mailbox.rb
|
191
|
+
- lib/tmail/core_extensions.rb
|
192
|
+
- sample
|
193
|
+
- sample/extract-attachements.rb
|
194
|
+
- sample/parse-test.rb
|
195
|
+
- sample/bench_base64.rb
|
196
|
+
- sample/multipart.rb
|
197
|
+
- sample/parse-bench.rb
|
198
|
+
- sample/data
|
199
|
+
- sample/data/test
|
200
|
+
- sample/data/normal
|
201
|
+
- sample/data/simple
|
202
|
+
- sample/data/multipart
|
203
|
+
- sample/data/sendtest
|
204
|
+
- sample/from-check.rb
|
205
|
+
- sample/sendmail.rb
|
206
|
+
- work
|
207
|
+
- work/script
|
208
|
+
- work/script/test
|
209
|
+
- work/script/rdoc
|
210
|
+
- work/script/setup
|
211
|
+
- work/script/make
|
143
212
|
- log
|
144
|
-
- log/
|
145
|
-
- log/
|
213
|
+
- log/BugTrackingLog.txt
|
214
|
+
- log/Changelog.txt
|
215
|
+
- log/Changelog-0.txt
|
146
216
|
- log/Todo.txt
|
147
|
-
-
|
148
|
-
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
-
|
154
|
-
-
|
155
|
-
-
|
156
|
-
-
|
157
|
-
-
|
158
|
-
|
159
|
-
-
|
160
|
-
-
|
161
|
-
|
162
|
-
|
163
|
-
-
|
164
|
-
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
-
|
170
|
-
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
217
|
+
- log/Testlog.txt
|
218
|
+
- MANIFEST
|
219
|
+
has_rdoc: true
|
220
|
+
homepage: http://tmail.rubyforge.org
|
221
|
+
post_install_message:
|
222
|
+
rdoc_options:
|
223
|
+
- --inline-source
|
224
|
+
- --title
|
225
|
+
- TMail
|
226
|
+
- --main
|
227
|
+
- README
|
228
|
+
require_paths:
|
229
|
+
- lib
|
230
|
+
- ext/tmailscanner
|
231
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
232
|
+
requirements:
|
233
|
+
- - ">="
|
234
|
+
- !ruby/object:Gem::Version
|
235
|
+
version: "0"
|
236
|
+
version:
|
237
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
238
|
+
requirements:
|
239
|
+
- - ">="
|
240
|
+
- !ruby/object:Gem::Version
|
241
|
+
version: "0"
|
242
|
+
version:
|
243
|
+
requirements: []
|
244
|
+
|
245
|
+
rubyforge_project: tmail
|
246
|
+
rubygems_version: 1.0.1
|
247
|
+
signing_key:
|
248
|
+
specification_version: 2
|
249
|
+
summary: Ruby Mail Handler
|
175
250
|
test_files:
|
251
|
+
- test/temp_test_one.rb
|
252
|
+
- test/kcode.rb
|
253
|
+
- test/test_utils.rb
|
254
|
+
- test/test_attachments.rb
|
255
|
+
- test/test_encode.rb
|
256
|
+
- test/test_mbox.rb
|
257
|
+
- test/test_helper.rb
|
258
|
+
- test/test_header.rb
|
259
|
+
- test/test_base64.rb
|
260
|
+
- test/test_address.rb
|
176
261
|
- test/fixtures
|
177
|
-
- test/fixtures/raw_email_quoted_with_0d0a
|
178
|
-
- test/fixtures/raw_email2
|
179
|
-
- test/fixtures/raw_email3
|
180
|
-
- test/fixtures/raw_email4
|
181
|
-
- test/fixtures/raw_email5
|
182
|
-
- test/fixtures/raw_email6
|
183
|
-
- test/fixtures/raw_email7
|
184
|
-
- test/fixtures/raw_email_with_illegal_boundary
|
185
262
|
- test/fixtures/raw_email8
|
186
|
-
- test/fixtures/
|
187
|
-
- test/fixtures/raw_base64_decoded_string
|
188
|
-
- test/fixtures/raw_email
|
189
|
-
- test/fixtures/raw_email10
|
190
|
-
- test/fixtures/raw_email11
|
191
|
-
- test/fixtures/raw_email12
|
263
|
+
- test/fixtures/raw_email_simple
|
192
264
|
- test/fixtures/raw_email13
|
193
|
-
- test/fixtures/
|
265
|
+
- test/fixtures/raw_email5
|
266
|
+
- test/fixtures/mailbox_without_any_from_or_sender
|
267
|
+
- test/fixtures/raw_email4
|
268
|
+
- test/fixtures/mailbox
|
194
269
|
- test/fixtures/raw_email_with_nested_attachment
|
195
|
-
- test/fixtures/
|
196
|
-
- test/fixtures/
|
197
|
-
- test/fixtures/
|
198
|
-
- test/fixtures/raw_email_simple
|
199
|
-
- test/fixtures/raw_base64_email
|
200
|
-
- test/fixtures/raw_email_with_bad_date
|
201
|
-
- test/fixtures/raw_email_reply
|
270
|
+
- test/fixtures/raw_email
|
271
|
+
- test/fixtures/raw_email_quoted_with_0d0a
|
272
|
+
- test/fixtures/raw_base64_decoded_string
|
202
273
|
- test/fixtures/mailbox_without_return_path
|
203
|
-
- test/fixtures/
|
274
|
+
- test/fixtures/raw_email3
|
275
|
+
- test/fixtures/raw_email_reply
|
276
|
+
- test/fixtures/raw_email_with_bad_date
|
204
277
|
- test/fixtures/mailbox_without_from
|
205
|
-
- test/fixtures/
|
206
|
-
- test/
|
207
|
-
- test/
|
278
|
+
- test/fixtures/raw_email_multiple_from
|
279
|
+
- test/fixtures/raw_email10
|
280
|
+
- test/fixtures/raw_email_with_quoted_illegal_boundary
|
281
|
+
- test/fixtures/raw_base64_email
|
282
|
+
- test/fixtures/raw_email_with_partially_quoted_subject
|
283
|
+
- test/fixtures/raw_email9
|
284
|
+
- test/fixtures/raw_email2
|
285
|
+
- test/fixtures/raw_email11
|
286
|
+
- test/fixtures/raw_email_with_multipart_mixed_quoted_boundary
|
287
|
+
- test/fixtures/raw_email_with_illegal_boundary
|
288
|
+
- test/fixtures/raw_email6
|
289
|
+
- test/fixtures/raw_email7
|
290
|
+
- test/fixtures/raw_base64_encoded_string
|
291
|
+
- test/fixtures/raw_email12
|
208
292
|
- test/test_mail.rb
|
209
|
-
- test/extctrl.rb
|
210
|
-
- test/kcode.rb
|
211
|
-
- test/test_base64.rb
|
212
|
-
- test/test_port.rb
|
213
|
-
- test/test_address.rb
|
214
|
-
- test/test_mbox.rb
|
215
|
-
- test/test_header.rb
|
216
293
|
- test/test_scanner.rb
|
217
|
-
- test/
|
218
|
-
- test/
|
294
|
+
- test/test_port.rb
|
295
|
+
- test/extctrl.rb
|
219
296
|
- test/test_quote.rb
|
220
|
-
rdoc_options: []
|
221
|
-
|
222
|
-
extra_rdoc_files: []
|
223
|
-
|
224
|
-
executables: []
|
225
|
-
|
226
|
-
extensions: []
|
227
|
-
|
228
|
-
requirements: []
|
229
|
-
|
230
|
-
dependencies: []
|
231
|
-
|