[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/gzz/modules/email mbox2gzzmo.py converter.p...
From: |
Marc Schiereck |
Subject: |
[Gzz-commits] gzz/gzz/modules/email mbox2gzzmo.py converter.p... |
Date: |
Mon, 30 Dec 2002 17:47:41 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Marc Schiereck <address@hidden> 02/12/30 17:47:38
Modified files:
gzz/modules/email: mbox2gzzmo.py converter.py
Added files:
gzz/modules/email: mbox.py
Log message:
changed storeMail(...) to save(...)
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/email/mbox.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/email/mbox2gzzmo.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/modules/email/converter.py.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
Patches:
Index: gzz/gzz/modules/email/converter.py
diff -u gzz/gzz/modules/email/converter.py:1.14
gzz/gzz/modules/email/converter.py:1.15
--- gzz/gzz/modules/email/converter.py:1.14 Sat Dec 7 15:42:20 2002
+++ gzz/gzz/modules/email/converter.py Mon Dec 30 17:47:38 2002
@@ -17,32 +17,12 @@
import gzz
import java
-import mailbox
import mimetools
import multifile
import re
import string
import StringIO
-def storeMailbox(file, mediaserver):
- mbox = mailbox.UnixMailbox(file)
-
- mails = []
- while 1:
- msg = mbox.next()
- if not msg: break
-
- header = string.join(msg.headers , '')
- body = string.join(msg.fp.readlines() , '')
-
- p = re.compile( '(\r\n|\n)')
- header = p.sub('\r\n', header)
- body = p.sub('\r\n', body)
-
- mails.append(storeMail(header + '\r\n' + body, mediaserver))
-
- return mails
-
def delHeaderLines(header, fields):
"""Takes a list of header-lines and a list of header fields and
removes every appereance of this field and it's parameters.
@@ -97,7 +77,7 @@
#for param in msg.getplist():
# if param[0:7] == 'charset':
-# return param[8:]
+# return param[8:]
#
# return "us-ascii"
@@ -107,7 +87,7 @@
ctparams.append(string.join(['; ', param], ''))
return ctparams
-def storeMail(mail, mediaserver):
+def save(mediaserver, mail):
mail = re.sub(r'(\r\n|\r|\n)', '\r\n', mail)
tMail = StringIO.StringIO(mail)
tMsg = mimetools.Message(tMail)
@@ -137,29 +117,29 @@
try:
body = submsg.fp.read()
- except:
- print "\tMail konnte nicht konvertiert werden"
- return tempstore
+ except:
+ print "\tMail couldn't be converted"
+ return tempstore
if isConvertible(body, getCharset(submsg)):
- id = storeBody(mediaserver, submsg, body, msgID)
+ id = storeBody(mediaserver, submsg, body, msgID)
header = header + transformHeader(submsg.headers, id)
header = string.join(header, '')
headerData += header
- else:
- headerData += string.join(submsg.headers, '') + '\n\r' + body
+ else:
+ headerData += string.join(submsg.headers, '') + '\n\r' + body
headerData += '--' + msg.getparam("boundary") + '--\r\n\r\n'
id2 = mediaserver.addDatum(headerData, headerLinesH, None, 0)
#eis = gzz.modules.email.DefaultEmailInStorm(mediaserver, id2)
- if isReconstructable(mediaserver, id2, tempstore):
- mediaserver.expungeDatum(tempstore)
- else:
- id2 = tempstore
-
- #print eis.getSubject().makeString(), ": ", id2.getString()
- #print "----"
- #print eis.getBody().makeString()
- #print "----"
+ if isReconstructable(mediaserver, id2, tempstore):
+ mediaserver.expungeDatum(tempstore)
+ else:
+ id2 = tempstore
+
+ #print eis.getSubject().makeString(), ": ", id2.getString()
+ #print "----"
+ #print eis.getBody().makeString()
+ #print "----"
else:
headerLinesH = java.util.ArrayList()
headerLinesB = java.util.ArrayList()
@@ -168,23 +148,23 @@
body = msg.fp.read()
if isConvertible(body , getCharset(msg)):
- id = storeBody(mediaserver, msg, body, msgID)
+ id = storeBody(mediaserver, msg, body, msgID)
header = string.join(transformHeader(msg.headers, id), '')
id2 = mediaserver.addDatum(header, headerLinesH, None, 0)
- else:
- header = string.join(msg.headers, '') + '\r\n' + body
- id2 = mediaserver.addDatum(header, headerLinesH, None, 0)
-
- if isReconstructable(mediaserver, id2, tempstore):
- mediaserver.expungeDatum(tempstore)
- else:
- id2 = tempstore
+ else:
+ header = string.join(msg.headers, '') + '\r\n' + body
+ id2 = mediaserver.addDatum(header, headerLinesH, None, 0)
+
+ if isReconstructable(mediaserver, id2, tempstore):
+ mediaserver.expungeDatum(tempstore)
+ else:
+ id2 = tempstore
#eis = gzz.modules.email.DefaultEmailInStorm(mediaserver, id2)
- #print eis.getSubject().makeString(), ": ", id2.getString()
- #print "----"
- #print eis.getBody().makeString()
- #print "----"
+ #print eis.getSubject().makeString(), ": ", id2.getString()
+ #print "----"
+ #print eis.getBody().makeString()
+ #print "----"
mail.close()
tMail.close()
return id2
@@ -198,7 +178,7 @@
cBody = java.lang.String(body, charset);
except java.io.UnsupportedEncodingException:
print charset, "not supported"
- return 0
+ return 0
bBody = cBody.getBytes(charset)
#if body.equals(bBody):
@@ -215,16 +195,18 @@
rec = ""
try:
- print "--------\n-------\n%s-------\n--------\n" % \
- msgZip (reconstruct(mail, mediaserver), str(t))
+ #reconstruct(mail, mediaserver, msid, 0)
+ #print "--------\n-------\n%s-------\n--------\n" % \
+ # msgZip (reconstruct(mail, mediaserver), str(t))
+ None
except:
print "Reconverting failed."
- return 1
+ return 1
# 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:"):]
-# id = gzz.mediaserver.Mediaserver.Id(id)
+# id = gzz.mediaserver.Mediaserver.Id(id)
#print "Reconstruct==>"
#print msg
@@ -243,29 +225,37 @@
return ret
-def reconstruct(mail, mediaserver):
- mail = StringIO.StringIO(mail)
- msg = mimetools.Message(mail)
- type = msg.gettype()
+def reconstruct(mail, mediaserver, msid, pos):
+ mail = StringIO.StringIO(mail)
+ msg = mimetools.Message(mail)
+ type = msg.gettype()
+ msgData = []
if type == "message/external-body" and
string.lower(msg.getparam("access-type")) == "x-storm":
- id = msg.getparam("block")[len("storm:block:"):]
- id = gzz.mediaserver.Mediaserver.Id(id)
- t = java.lang.String(mediaserver.getDatum(id).getBytes(), "UTF8") #
Noch den Zeichensatz umwandeln
- msgData = msg.fp.read() + str(t)
+ pts = PermanentTextScroll(ms, msid)
+ id = msg.getparam("block")[len("storm:block:"):]
+ id = gzz.mediaserver.Mediaserver.Id(id)
+ t = java.lang.String(mediaserver.getDatum(id).getBytes(), "UTF8")
+ save = msg.fp.read() + str(t)
+
+ msgData.append(pts.getSpan(pos, len(save)))
elif type[:10] == "multipart/":
mulmsg = multifile.MultiFile(mail, 0)
mulmsg.push(msg.getparam("boundary"))
- msgData = "--%s" % msg.getparam("boundary")
+ boundary = "--%s" % msg.getparam("boundary")
+ msgData.append(PermanentTextScroll(boundary).getCurrent())
+ #msgData = "--%s" % msg.getparam("boundary")
while mulmsg.next():
submsg = mimetools.Message(mulmsg)
- msgData += reconstruct(str(submsg) + submsg.fp.read(), mediaserver)
+ msgSpan = reconstruct(str(submsg) + submsg.fp.read(), mediaserver,
msid, pos + len(boundary))
+ msgData.append(msgSpan)
- msgData += "--%s--" % msg.getparam("boundary")
+ #msgData += "--%s--" % msg.getparam("boundary")
+ msgData.append(PermanentTextScroll("--%s--" %
msg.getparam("boundary")).getCurrent())
else:
- msgData = str(msg) + '\r\n' + msg.fp.read()
+ msgData = str(msg) + '\r\n' + msg.fp.read()
mail.close()
return msgData
@@ -281,7 +271,7 @@
addDefaultHeaders = 0
if msgtype == "message/rfc822":
- cbodyid = storeMail(body, mediaserver)
+ cbodyid = save(mediaserver, body)
elif msgtype == "text/plain":
headerLinesB = java.util.ArrayList()
headerLinesB.add('Content-Type: text/plain; charset=UTF-8')
@@ -291,8 +281,8 @@
addDefaultHeaders = 1
headerLinesB.add('Content-Transfer-Encoding: ' + msg.getencoding())
- tBody = java.lang.String(body, getCharset(msg))
- cbodyid = mediaserver.addDatum(tBody.getBytes("UTF8"), headerLinesB,
None, 0)
+ tBody = java.lang.String(body, getCharset(msg))
+ cbodyid = mediaserver.addDatum(tBody.getBytes("UTF8"), headerLinesB,
None, 0)
else:
headerLinesB = java.util.ArrayList()
headerLinesB.add('Content-Type: ' + msgtype
@@ -303,6 +293,6 @@
addDefaultHeaders = 1
headerLinesB.add('Content-Transfer-Encoding: ' + msg.getencoding())
- cbodyid = mediaserver.addDatum(body, headerLinesB, None,
addDefaultHeaders)
+ cbodyid = mediaserver.addDatum(body, headerLinesB, None,
addDefaultHeaders)
return cbodyid
Index: gzz/gzz/modules/email/mbox2gzzmo.py
diff -u gzz/gzz/modules/email/mbox2gzzmo.py:1.4
gzz/gzz/modules/email/mbox2gzzmo.py:1.5
--- gzz/gzz/modules/email/mbox2gzzmo.py:1.4 Sat Dec 7 17:59:23 2002
+++ gzz/gzz/modules/email/mbox2gzzmo.py Mon Dec 30 17:47:38 2002
@@ -1,9 +1,9 @@
-import converter
+import mbox
import gzz, java
def __main__(args):
- this_file, mbox, mediaserver_dir = args
+ this_file, mailbox, mediaserver_dir = args
ms = gzz.mediaserver.SimpleMediaserver(
gzz.mediaserver.storage.DirStorer(
@@ -11,7 +11,7 @@
print "Read emails into storm..."
- ids = converter.storeMailbox(open(mbox), ms)
+ ids = mbox.storeMailbox(ms, open(mailbox))
emails = [gzz.modules.email.DefaultEmailInStorm(ms, id)
for id in ids]
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] gzz/gzz/modules/email mbox2gzzmo.py converter.p...,
Marc Schiereck <=