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: Tue, 31 Dec 2002 17:48:11 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Marc Schiereck <address@hidden> 02/12/31 17:48:11

Modified files:
        gzz/modules/email: converter.py 

Log message:
        Reconverting of Headers seems to work now

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/email/converter.py.diff?tr1=1.16&tr2=1.17&r1=text&r2=text

Patches:
Index: gzz/gzz/modules/email/converter.py
diff -u gzz/gzz/modules/email/converter.py:1.16 
gzz/gzz/modules/email/converter.py:1.17
--- gzz/gzz/modules/email/converter.py:1.16     Tue Dec 31 14:43:35 2002
+++ gzz/gzz/modules/email/converter.py  Tue Dec 31 17:48:11 2002
@@ -61,7 +61,6 @@
         if foundField:
             foundField = 0
             delLines = 1
-            #tField = [replacement]
             tField.append('X-Gzzmo-OH-' + line)
         elif not (delLines and line[0] == ' '):
             result += tField
@@ -91,7 +90,6 @@
                                'Content-Transfer-Encoding: binary\r\n')
     header = replaceHeaderLine(header, 'Content-ID', 'Content-ID: ' + idstring 
+ '\r\n')
     header.append('\r\n')
-    print header
     return result + header
 
 def getCharset(msg):
@@ -209,11 +207,15 @@
         print "\tReconverting failed."
         return 1
     
+    spans = java.util.ArrayList()
+    for element in rec:
+        spans.add(element)
     maker = gzz.media.impl.Enfilade1DImpl.Enfilade1DImplMaker()
-    rec1 = maker.makeEnfilade(rec)
-    print rec1.makeString()
-
-    print 
"==================================================================================="
+    rec = maker.makeEnfilade(spans)
+    #print 
"==================================================================================="
+    #print rec.makeString()
+    #print msgZip(t, rec.makeString())
+    #print 
"==================================================================================="
 #    print "\t\t\t", msg.getparam("access-type")
 #    if msg.gettype() == "message/external-body" and 
string.lower(msg.getparam("access-type")) == "x-storm":
 #        id = msg.getparam("block")[len("storm:block:"):]
@@ -238,7 +240,7 @@
     mail    = StringIO.StringIO(mail)
     msg     = mimetools.Message(mail)
     type    = msg.gettype()
-    msgData = java.util.ArrayList()
+    msgData = []
 
     if type == "message/external-body" and 
string.lower(msg.getparam("access-type")) == "x-storm":
         print "\tmessage/external-body"
@@ -248,49 +250,67 @@
         pts1 = gzz.media.impl.PermanentTextScroll(mediaserver, id)
 
         reconstructHeader(pts, msg.fp.read(), pos + len(str(msg)) + 2, msgData)
-        msgData.add(pts1.getCurrent())
+        msgData.append(pts1.getCurrent())
     elif type[:10] == "multipart/":
         print "\tmultipart/"
         pts  = gzz.media.impl.PermanentTextScroll(mediaserver, msid)
         pos = len(str(msg)) + 2
-        #msgData.add(pts.getSpan(0, pos))
+        #msgData.append(pts.getSpan(0, pos))
         #reconstructHeader(pts, str(msg), pos, msgData)
 
         mulmsg = multifile.MultiFile(mail, 0)
         mulmsg.push(msg.getparam("boundary"))
 
         boundary = "--%s" % msg.getparam("boundary")
-        #msgData.add(pts.getSpan(pos, len(boundary) + 2))
+        #msgData.append(pts.getSpan(pos, len(boundary) + 2))
         #msgData = "--%s" % msg.getparam("boundary") 
 
         while mulmsg.next():
-           #msgData.add(pts.getSpan(pos, len(boundary)))
+           #msgData.append(pts.getSpan(pos, len(boundary)))
            submsg = mimetools.Message(mulmsg)
            #msgData.addAll(reconstruct(str(submsg) + submsg.fp.read(), 
mediaserver, msid, pos + len(boundary)))
-           #msgData.add(msgSpan)
+           #msgData.append(msgSpan)
         
         #msgData += "--%s--" % msg.getparam("boundary") 
 
-        #msgData.add(gzz.media.impl.PermanentTextScroll("--%s--" % 
msg.getparam("boundary")).getCurrent())
     else:
-        print "==="
-        print str(msg)
-        print "==="
+        #print "==="
+        #print str(msg)
+        #print "==="
         pts = gzz.media.impl.PermanentTextScroll(mediaserver, msid)
-        msgData.add(pts.getCurrent())
-        #str(msg) + '\r\n' + msg.fp.read()
-        #msgData = str(msg) + '\r\n' + msg.fp.read()
+        msgData.append(pts.getCurrent())
 
     print "<===="
     mail.close()
-    #maker = gzz.media.impl.Enfilade1DImpl.Enfilade1DImplMaker()
     print "<==reconstruct"
-    #return maker.makeEnfilade(msgData)
 
     return msgData
 
 def reconstructHeader(pts, header, pos, msgData):
-    msgData.add(pts.getSpan(pos, pos + len(header)))
+    sPos = pos
+
+    headerf = string.split(header, '\r\n')
+    ignore = 0
+
+    for line in headerf[0:len(header)-1]:
+        if ignore and line[:1] == ' ':
+            sPos += len(line) + 2
+            pos += len(line) + 2
+        elif line[:21] == 'X-Gzzmo-OH-Content-ID' or line[:36] == 
'X-Gzzmo-OH-Content-Transfer-Encoding':
+            msgData.append(pts.getSpan(sPos, pos))
+            sPos = pos + 11
+            pos += len(line) + 2
+            ignore = 0
+        elif line[:25] == 'Content-Transfer-Encoding' or line[:10] == 
'Content-ID': 
+            msgData.append(pts.getSpan(sPos, pos))
+            ignore = 1
+            pos += len(line) + 2
+            sPos = pos 
+        else:
+            ignore = 0
+            pos += len(line) + 2
+            
+    msgData.append(pts.getSpan(sPos, pos-2))
 
 def storeBody(mediaserver, msg, body, msgID):
     print "==>storeBody"



reply via email to

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