/[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.6 by Dreevich, Mon Nov 11 00:37:55 2002 UTC revision 1.7 by Dreevich, Fri Nov 29 00:10:29 2002 UTC
# Line 78  def transformHeader(header, bodyID): Line 78  def transformHeader(header, bodyID):
78    
79      return result      return result
80    
81    def getCharset(msg):
82        for param in msg.getplist():
83            if param[0:7] == 'charset':
84                return param[8:]
85    
86  def storeMail(mail, mediaserver):  def storeMail(mail, mediaserver):
87      mail      = re.sub('(\r\n|\n)', '\r\n', mail)      mail      = re.sub('(\r\n|\n)', '\r\n', mail)
# Line 87  def storeMail(mail, mediaserver): Line 91  def storeMail(mail, mediaserver):
91      msgID     = msg.getheader("Message-ID")      msgID     = msg.getheader("Message-ID")
92      ctparams  = []      ctparams  = []
93    
94        getCharset(msg)
95    
96      for param in msg.getplist():      for param in msg.getplist():
97          ctparams.append(string.join(['; ', param], ''))          ctparams.append(string.join(['; ', param], ''))
98    
# Line 114  def storeMail(mail, mediaserver): Line 120  def storeMail(mail, mediaserver):
120              body = string.join(submsg.fp.readlines(), '')              body = string.join(submsg.fp.readlines(), '')
121              id = mediaserver.addDatum(body, headerLinesB, None, 0)              id = mediaserver.addDatum(body, headerLinesB, None, 0)
122    
123    
124              header = ['--', msg.getparam("boundary") + '\r\n']              header = ['--', msg.getparam("boundary") + '\r\n']
125              header = header + transformHeader(submsg.headers, id)              header = header + transformHeader(submsg.headers, id)
126              header = string.join(header, '')              header = string.join(header, '')
# Line 123  def storeMail(mail, mediaserver): Line 130  def storeMail(mail, mediaserver):
130          headerData += '--' + msg.getparam("boundary") + '--\r\n\r\n'          headerData += '--' + msg.getparam("boundary") + '--\r\n\r\n'
131          id2 = mediaserver.addDatum(headerData, headerLinesH, None, 0)          id2 = mediaserver.addDatum(headerData, headerLinesH, None, 0)
132          eis = gzz.modules.email.DefaultEmailInStorm(mediaserver, id2)          eis = gzz.modules.email.DefaultEmailInStorm(mediaserver, id2)
133            print eis.getSubject().makeString(), ": ", id2.getString()
134      else:      else:
135          headerLinesH = java.util.ArrayList()          headerLinesH = java.util.ArrayList()
136          headerLinesB = java.util.ArrayList()          headerLinesB = java.util.ArrayList()
# Line 135  def storeMail(mail, mediaserver): Line 143  def storeMail(mail, mediaserver):
143    
144          body = string.join(msg.fp.readlines(), '')          body = string.join(msg.fp.readlines(), '')
145          id = mediaserver.addDatum(body, headerLinesB, None, 0)          id = mediaserver.addDatum(body, headerLinesB, None, 0)
146                
147            print "convertible:", isConvertible(body, getCharset(msg))
148    
149          header = string.join(transformHeader(msg.headers, id), '')          header = string.join(transformHeader(msg.headers, id), '')
150    
151          id2 = mediaserver.addDatum(header, headerLinesH, None, 0)          id2 = mediaserver.addDatum(header, headerLinesH, None, 0)
152          eis = gzz.modules.email.DefaultEmailInStorm(mediaserver, id2)          eis = gzz.modules.email.DefaultEmailInStorm(mediaserver, id2)
153            print eis.getSubject().makeString(), ": ", id2.getString()
154      mail.close()      mail.close()
155      return eis      return eis
156    
157    def isConvertible(body, charset):
158        cBody = ""
159        try:
160            cBody = java.lang.String(body, charset);
161        except java.io.UnsupportedEncodingException:
162            print charset, "not supported"
163            return 0
164    
165        bBody = cBody.getBytes(charset)
166        if body.equals(bBody):  # somehow like this... just with body as a byte-array
167           return 1
168        else:
169           return 0

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

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