gzz-commits
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]