|
1 from test import test_support |
|
2 import mimetools |
|
3 multifile = test_support.import_module('multifile', deprecated=True) |
|
4 import cStringIO |
|
5 |
|
6 msg = """Mime-Version: 1.0 |
|
7 Content-Type: multipart/mixed; |
|
8 boundary="=====================_590453667==_" |
|
9 X-OriginalArrivalTime: 05 Feb 2002 03:43:23.0310 (UTC) FILETIME=[42D88CE0:01C1ADF7] |
|
10 |
|
11 --=====================_590453667==_ |
|
12 Content-Type: multipart/alternative; |
|
13 boundary="=====================_590453677==_.ALT" |
|
14 |
|
15 --=====================_590453677==_.ALT |
|
16 Content-Type: text/plain; charset="us-ascii"; format=flowed |
|
17 |
|
18 test A |
|
19 --=====================_590453677==_.ALT |
|
20 Content-Type: text/html; charset="us-ascii" |
|
21 |
|
22 <html> |
|
23 <b>test B</font></b></html> |
|
24 |
|
25 --=====================_590453677==_.ALT-- |
|
26 |
|
27 --=====================_590453667==_ |
|
28 Content-Type: text/plain; charset="us-ascii" |
|
29 Content-Disposition: attachment; filename="att.txt" |
|
30 |
|
31 Attached Content. |
|
32 Attached Content. |
|
33 Attached Content. |
|
34 Attached Content. |
|
35 |
|
36 --=====================_590453667==_-- |
|
37 |
|
38 """ |
|
39 |
|
40 def getMIMEMsg(mf): |
|
41 global boundaries, linecount |
|
42 msg = mimetools.Message(mf) |
|
43 |
|
44 #print "TYPE: %s" % msg.gettype() |
|
45 if msg.getmaintype() == 'multipart': |
|
46 boundary = msg.getparam("boundary") |
|
47 boundaries += 1 |
|
48 |
|
49 mf.push(boundary) |
|
50 while mf.next(): |
|
51 getMIMEMsg(mf) |
|
52 mf.pop() |
|
53 else: |
|
54 lines = mf.readlines() |
|
55 linecount += len(lines) |
|
56 |
|
57 def test_main(): |
|
58 global boundaries, linecount |
|
59 boundaries = 0 |
|
60 linecount = 0 |
|
61 f = cStringIO.StringIO(msg) |
|
62 getMIMEMsg(multifile.MultiFile(f)) |
|
63 assert boundaries == 2 |
|
64 assert linecount == 9 |
|
65 |
|
66 if __name__ == '__main__': |
|
67 test_main() |