/[gzz]/gzz/gzz/modules/email/converter.py
ViewVC logotype

Diff of /gzz/gzz/modules/email/converter.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.17 by Dreevich, Tue Dec 31 22:48:11 2002 UTC revision 1.18 by benja, Wed Jan 1 00:21:39 2003 UTC
# Line 23  import re Line 23  import re
23  import string  import string
24  import StringIO  import StringIO
25    
26  def delHeaderLines(header, fields):  from gzz.modules.email.mailtools import delHeaderLines, getCharset, \
27      """Takes a list of header-lines and a list of header fields and                                          replaceHeaderLine, msgZip, \
28      removes every appereance of this field and it's parameters.                                          getContentTypeParams
     """  
     result = []  
     delLines = 0  
     foundField = 0  
     for line in header:  
         tline = line.lower()  
         for field in fields:  
             field = field.lower()  
             if tline[:len(field)] == field:  
                 foundField = 1  
                 break  
         if foundField:  
             foundField = 0  
             delLines = 1  
         elif not (delLines and line[0] == ' '):  
             result.append(line)  
             delLines = 0  
     return result  
   
 def replaceHeaderLine(header, field, replacement):  
     result = []  
     delLines = 0  
     foundField = 0  
     tField = []  
     field = field.lower()  
     replaced = 0  
   
     for line in header:  
         tline = line.lower()  
         if tline[:len(field)] == field:  
             foundField = 1  
             replaced = 1  
         if foundField:  
             foundField = 0  
             delLines = 1  
             tField.append('X-Gzzmo-OH-' + line)  
         elif not (delLines and line[0] == ' '):  
             result += tField  
             if delLines: result.append(replacement)  
             result.append(line)  
             delLines = 0  
             tField = []  
         else:  
             tField.append(line)  
   
     if not replaced:  
         result.append(replacement)  
     return result  
     
29    
30  def transformHeader(header, bodyID):  def transformHeader(header, bodyID):
31      """Transforms message header to a message/external-body header      """Transforms message header to a message/external-body header
# Line 92  def transformHeader(header, bodyID): Line 43  def transformHeader(header, bodyID):
43      header.append('\r\n')      header.append('\r\n')
44      return result + header      return result + header
45    
 def getCharset(msg):  
     if msg.getparam("charset") == None:  
         return "us-ascii"  
     else:  
         return msg.getparam("charset")  
   
 def getContentTypeParams(msg):  
     ctparams  = []  
     for param in msg.getplist():  
         ctparams.append(string.join(['; ', param], ''))  
     return ctparams  
   
46  def save(mediaserver, mail):  def save(mediaserver, mail):
47      mail      = re.sub(r'(\r\n|\r|\n)', '\r\n', mail)      mail      = re.sub(r'(\r\n|\r|\n)', '\r\n', mail)
48      tMail     = StringIO.StringIO(mail)      tMail     = StringIO.StringIO(mail)
# Line 224  def isReconstructable(mediaserver, msid, Line 163  def isReconstructable(mediaserver, msid,
163      print "<==isReconstructable"      print "<==isReconstructable"
164      return 1      return 1
165    
 def msgZip(msg1, msg2):  
     msg1 = string.split(msg1, '\r\n')  
     msg2 = string.split(msg2, '\r\n')  
   
     ret = ""  
     for s in zip(msg1, msg2):  
         ret += s[0] + '\n'  
         ret += s[1] + '\n'  
   
     return ret  
   
166  def reconstruct(mail, mediaserver, msid, pos):  def reconstruct(mail, mediaserver, msid, pos):
167      print "==>reconstruct"      print "==>reconstruct"
168      mail    = StringIO.StringIO(mail)      mail    = StringIO.StringIO(mail)

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26