[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/gzz/modules/email converter.py pop3.py popl...
From: |
Marc Schiereck |
Subject: |
[Gzz-commits] gzz/gzz/modules/email converter.py pop3.py popl... |
Date: |
Sat, 04 Jan 2003 14:07:03 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Marc Schiereck <address@hidden> 03/01/04 14:07:03
Modified files:
gzz/modules/email: converter.py
Added files:
gzz/modules/email: pop3.py poplib.py
Log message:
Pop3 support
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/email/pop3.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/email/poplib.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/email/converter.py.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
Patches:
Index: gzz/gzz/modules/email/converter.py
diff -u gzz/gzz/modules/email/converter.py:1.19
gzz/gzz/modules/email/converter.py:1.20
--- gzz/gzz/modules/email/converter.py:1.19 Fri Jan 3 16:14:58 2003
+++ gzz/gzz/modules/email/converter.py Sat Jan 4 14:07:03 2003
@@ -43,10 +43,10 @@
return result + header
def save(mediaserver, mail):
- mail = re.sub(r'(\r\n|\r|\n)', '\r\n', mail)
- tMail = StringIO.StringIO(mail)
+ mailStr = re.sub(r'(\r\n|\r|\n)', '\r\n', mail)
+ tMail = StringIO.StringIO(mailStr)
tMsg = mimetools.Message(tMail)
- mail = StringIO.StringIO(mail)
+ mail = StringIO.StringIO(mailStr)
msg = mimetools.Message(mail)
msgtype = msg.gettype()
msgID = msg.getheader("Message-ID")
@@ -65,11 +65,14 @@
mulmsg = multifile.MultiFile(mail, 0)
mulmsg.push(msg.getparam("boundary"))
+ posT = (0, 0)
+ lastPos = mail.tell()
while mulmsg.next():
submsg = mimetools.Message(mulmsg)
header = ['--', msg.getparam("boundary") + '\r\n']
+ headers = string.join(submsg.headers, '')
try:
body = submsg.fp.read()
except:
@@ -81,9 +84,16 @@
header = string.join(header, '')
headerData += header
else:
- headerData += string.join(submsg.headers, '') + '\n\r' + body
-
- headerData += '--' + msg.getparam("boundary") + '--\r\n\r\n'
+ headerData += headers + '\r\n' + body
+ posT = (lastPos, len(body) + len(headers))
+ lastPos = mail.tell()
+
+ #print "(%s | %s)" % posT
+ #print "MsgLen: ", len(mailStr)
+ #headerData += '--' + msg.getparam("boundary") + '--\r\n\r\n'
+ headerData += mailStr[posT[0] + posT[1] + 2:]
+ #print "Pos: ", posT[0] + posT[1]
+ #print "##############>%s<##################" % mailStr[posT[0] +
posT[1]:]
id2 = mediaserver.addDatum(headerData, headerLinesH, None, 0)
if isReconstructable(mediaserver, id2, tempstore):
mediaserver.expungeDatum(tempstore)
@@ -187,10 +197,39 @@
pts = gzz.media.impl.PermanentTextScroll(mediaserver, msid)
id = msg.getparam("block")[len("storm:block:"):]
id = gzz.mediaserver.Mediaserver.Id(id)
- pts1 = gzz.media.impl.PermanentTextScroll(mediaserver, id)
- reconstructHeader(pts, msg.fp.read(), pos + len(str(msg)) + 2, msgData)
- msgData.append(pts1.getCurrent())
+ header = msg.fp.read()
+
+ header = reconstructHeader(pts, header, pos + len(str(msg)) + 2)
+ spans = java.util.ArrayList()
+ for element in header:
+ spans.add(element)
+ maker = gzz.media.impl.Enfilade1DImpl.Enfilade1DImplMaker()
+ h = maker.makeEnfilade(spans)
+ h = mimetools.Message(StringIO.StringIO(h.makeString()))
+
+ body = mediaserver.getDatum(id).getBytes()
+ body = str(body)
+
+ #msgData.append(ptsmark)
+ msgData += header
+ #msgData.append(ptsmark1)
+ print h.getencoding()
+ if h.getencoding() == "base64"\
+ or h.getencoding() == "quoted-printable"\
+ or h.getencoding() == "uuencode":
+ input = StringIO.StringIO(body)
+ output = StringIO.StringIO()
+ mimetools.encode(input, output, h.getencoding())
+
+ t = gzz.media.impl.PermanentTextScroll(output.getvalue())
+ msgData.append(t.getCurrent())
+ input.close()
+ output.close()
+ else:
+ pts1 = gzz.media.impl.PermanentTextScroll(mediaserver, id)
+ #msgData.append(body)
+ msgData.append(pts1.getCurrent())
elif type[:10] == "multipart/":
pts = gzz.media.impl.PermanentTextScroll(mediaserver, msid)
boundary = "--%s" % msg.getparam("boundary")
@@ -210,7 +249,9 @@
pos += prevMsgLen + 4 + len(boundary)
sMsg = str(submsg) + '\r\n' + submsg.fp.read()
+ #msgData.append(ptsmark)
msgData += reconstruct(sMsg, mediaserver, msid, pos)
+ #msgData.append(ptsmark1)
prevMsgLen = len(sMsg) - 2
pos += prevMsgLen + 2
@@ -227,7 +268,10 @@
return msgData
-def reconstructHeader(pts, header, pos, msgData):
+def reconstructHeader(pts, header, pos):
+ #ptsmark = gzz.media.impl.PermanentTextScroll(">--HX--<").getCurrent()
+ #ptsmark1 = gzz.media.impl.PermanentTextScroll(">--YH--<").getCurrent()
+ msgData = []
offset = pos
sPos = pos = 0
@@ -252,7 +296,10 @@
ignore = 0
pos += len(line) + 2
- msgData.append(pts.getSpan(sPos + offset, pos-2 + offset))
+ #msgData.append(ptsmark)
+ msgData.append(pts.getSpan(sPos + offset, pos + offset - 2))
+ #msgData.append(ptsmark1)
+ return msgData
def storeBody(mediaserver, msg, body, msgID):
msgtype = msg.gettype()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] gzz/gzz/modules/email converter.py pop3.py popl...,
Marc Schiereck <=