home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 July / maximum-cd-2011-07.iso / DiscContents / LibO_3.3.2_Win_x86_install_multi.exe / libreoffice1.cab / test_multifile.py < prev    next >
Encoding:
Python Source  |  2011-03-15  |  1.6 KB  |  68 lines

  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()
  68.