[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/gzz/modules/email converter.py
From: |
Marc Schiereck |
Subject: |
[Gzz-commits] gzz/gzz/modules/email converter.py |
Date: |
Fri, 29 Nov 2002 04:45:17 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Marc Schiereck <address@hidden> 02/11/29 04:45:17
Modified files:
gzz/modules/email: converter.py
Log message:
Splitted up the source a bit
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/email/converter.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
Patches:
Index: gzz/gzz/modules/email/converter.py
diff -u gzz/gzz/modules/email/converter.py:1.7
gzz/gzz/modules/email/converter.py:1.8
--- gzz/gzz/modules/email/converter.py:1.7 Thu Nov 28 19:10:29 2002
+++ gzz/gzz/modules/email/converter.py Fri Nov 29 04:45:17 2002
@@ -83,19 +83,21 @@
if param[0:7] == 'charset':
return param[8:]
+def getContentTypeParams(msg):
+ ctparams = []
+ for param in msg.getplist():
+ ctparams.append(string.join(['; ', param], ''))
+ return ctparams
+
def storeMail(mail, mediaserver):
- mail = re.sub('(\r\n|\n)', '\r\n', mail)
+ mail = re.sub(r'(\r\n|\r|\n)', '\r\n', mail)
mail = StringIO.StringIO(mail)
msg = mimetools.Message(mail)
msgtype = msg.gettype()
msgID = msg.getheader("Message-ID")
- ctparams = []
getCharset(msg)
- for param in msg.getplist():
- ctparams.append(string.join(['; ', param], ''))
-
if msgtype[:10] == "multipart/":
headerLinesH = java.util.ArrayList()
headerLinesH.add('Content-Type: message/rfc822')
@@ -105,21 +107,8 @@
mulmsg.push(msg.getparam("boundary"))
while mulmsg.next():
- ctparams = []
submsg = mimetools.Message(mulmsg)
- headerLinesB = java.util.ArrayList()
-
- for param in submsg.getplist():
- ctparams.append(string.join(['; ', param], ''))
-
- headerLinesB.add('Content-Type: ' + submsg.gettype()
- + string.join(ctparams, ''))
- headerLinesB.add('Message-ID: ' + msgID)
- headerLinesB.add('Content-Transfer-Encoding: ' +
submsg.getencoding())
-
- body = string.join(submsg.fp.readlines(), '')
- id = mediaserver.addDatum(body, headerLinesB, None, 0)
-
+ id = storeBody(mediaserver, submsg, msgID)
header = ['--', msg.getparam("boundary") + '\r\n']
header = header + transformHeader(submsg.headers, id)
@@ -131,26 +120,24 @@
id2 = mediaserver.addDatum(headerData, headerLinesH, None, 0)
eis = gzz.modules.email.DefaultEmailInStorm(mediaserver, id2)
print eis.getSubject().makeString(), ": ", id2.getString()
+ print "----"
+ print eis.getBody().makeString()
+ print "----"
else:
headerLinesH = java.util.ArrayList()
headerLinesB = java.util.ArrayList()
headerLinesH.add('Content-Transfer-Encoding: binary')
headerLinesH.add('Content-Type: message/rfc822')
- headerLinesB.add('Content-Type: ' + msgtype
- + string.join(ctparams, ''))
- headerLinesB.add('Message-ID: ' + msgID)
- headerLinesB.add('Content-Transfer-Encoding: ' + msg.getencoding())
-
- body = string.join(msg.fp.readlines(), '')
- id = mediaserver.addDatum(body, headerLinesB, None, 0)
-
- print "convertible:", isConvertible(body, getCharset(msg))
-
+ id = storeBody(mediaserver, msg, msgID)
+
header = string.join(transformHeader(msg.headers, id), '')
id2 = mediaserver.addDatum(header, headerLinesH, None, 0)
eis = gzz.modules.email.DefaultEmailInStorm(mediaserver, id2)
print eis.getSubject().makeString(), ": ", id2.getString()
+ print "----"
+ print eis.getBody().makeString()
+ print "----"
mail.close()
return eis
@@ -167,3 +154,24 @@
return 1
else:
return 0
+
+def storeBody(mediaserver, msg, msgID):
+ msgtype = msg.gettype()
+ ctparams = getContentTypeParams(msg)
+ cbodyid = None
+ print msgID
+
+ if msgtype == "message/rfc822":
+ print "message/rfc822"
+ storeMail(msg.fp.read(), mediaserver)
+ else:
+ headerLinesB = java.util.ArrayList()
+ headerLinesB.add('Content-Type: ' + msgtype
+ + string.join(ctparams, ''))
+ headerLinesB.add('Message-ID: ' + msgID)
+ headerLinesB.add('Content-Transfer-Encoding: ' + msg.getencoding())
+
+ body = msg.fp.read()
+ cbodyid = mediaserver.addDatum(body, headerLinesB, None, 0)
+
+ return cbodyid