gzz-commits
[Top][All Lists]
Advanced

[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]
 



reply via email to

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