[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: |
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"