home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / Calibre / calibre-0.8.18.msi / file_262 / MimeWriter.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2011-09-09  |  2.4 KB  |  68 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.7)
  3.  
  4. import mimetools
  5. __all__ = [
  6.     'MimeWriter']
  7. import warnings
  8. warnings.warn('the MimeWriter module is deprecated; use the email package instead', DeprecationWarning, 2)
  9.  
  10. class MimeWriter:
  11.     
  12.     def __init__(self, fp):
  13.         self._fp = fp
  14.         self._headers = []
  15.  
  16.     
  17.     def addheader(self, key, value, prefix = 0):
  18.         lines = value.split('\n')
  19.         while lines and not lines[-1]:
  20.             del lines[-1]
  21.         while lines and not lines[0]:
  22.             del lines[0]
  23.         for i in range(1, len(lines)):
  24.             lines[i] = '    ' + lines[i].strip()
  25.         
  26.         value = '\n'.join(lines) + '\n'
  27.         line = key + ': ' + value
  28.         if prefix:
  29.             self._headers.insert(0, line)
  30.         else:
  31.             self._headers.append(line)
  32.  
  33.     
  34.     def flushheaders(self):
  35.         self._fp.writelines(self._headers)
  36.         self._headers = []
  37.  
  38.     
  39.     def startbody(self, ctype, plist = [], prefix = 1):
  40.         for name, value in plist:
  41.             ctype = ctype + ';\n %s="%s"' % (name, value)
  42.         
  43.         self.addheader('Content-Type', ctype, prefix = prefix)
  44.         self.flushheaders()
  45.         self._fp.write('\n')
  46.         return self._fp
  47.  
  48.     
  49.     def startmultipartbody(self, subtype, boundary = None, plist = [], prefix = 1):
  50.         if not boundary:
  51.             pass
  52.         self._boundary = mimetools.choose_boundary()
  53.         return self.startbody('multipart/' + subtype, [
  54.             ('boundary', self._boundary)] + plist, prefix = prefix)
  55.  
  56.     
  57.     def nextpart(self):
  58.         self._fp.write('\n--' + self._boundary + '\n')
  59.         return self.__class__(self._fp)
  60.  
  61.     
  62.     def lastpart(self):
  63.         self._fp.write('\n--' + self._boundary + '--\n')
  64.  
  65.  
  66. if __name__ == '__main__':
  67.     import test.test_MimeWriter as test
  68.