gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz test/gzz/modules/email/converter.test gzz/m...


From: Marc Schiereck
Subject: [Gzz-commits] gzz test/gzz/modules/email/converter.test gzz/m...
Date: Sun, 03 Nov 2002 17:05:08 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Marc Schiereck <address@hidden> 02/11/03 17:05:08

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

Log message:
        Added some functions and did some little cleanup. Now the IDs are also 
added
        to the Header.

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

Patches:
Index: gzz/gzz/modules/email/converter.py
diff -u gzz/gzz/modules/email/converter.py:1.4 
gzz/gzz/modules/email/converter.py:1.5
--- gzz/gzz/modules/email/converter.py:1.4      Fri Nov  1 14:40:29 2002
+++ gzz/gzz/modules/email/converter.py  Sun Nov  3 17:05:08 2002
@@ -40,6 +40,44 @@
 
         storeMail(header + '\r\n' + body, mediaserver)
 
+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.
+    """
+    result = []
+    delLines = 0
+    foundField = 0
+    for line in header:
+        tline = line.lower()
+        for field in fields:
+           field = field.lower()
+           if tline[:len(field)] == field:
+               foundField = 1
+               break
+        if foundField:
+           foundField = 0
+           delLines = 1
+        elif not (delLines and line[0] == ' '):
+            result.append(line)
+           delLines = 0
+    return result
+
+def transformHeader(header, bodyID):
+    result = []
+    idstring = 'storm:block:' + bodyID.getString()
+
+    result.append('Content-Type: message/external-body;\r\n')
+    result.append(' access-type=\"x-storm\";\r\n')
+    result.append(' block=\"' + idstring + '\"\r\n\r\n')
+    
+    headers = delHeaderLines (header, ['Content-Transfer-Encoding'])
+    result = result + headers
+    result.append('Content-Transfer-Encoding: binary\r\n')
+    result.append('Content-ID: ' + idstring + '\r\n\r\n')
+
+    return result
+
+
 def storeMail(mail, mediaserver):
     mail      = re.sub('(\r\n|\n)', '\r\n', mail)
     mail      = StringIO.StringIO(mail)
@@ -72,19 +110,14 @@
             headerLinesB.add('Message-ID: ' + msgID)
            headerLinesB.add('Content-Transfer-Encoding: ' + 
submsg.getencoding())
 
-            id = '<ID>'
-            headerData += '--' + msg.getparam("boundary") + '\r\n'
+            body = string.join(submsg.fp.readlines(), '')
+            id = mediaserver.addDatum(body, headerLinesB, None, 0)
 
-            headerData += 'Content-Type: message/external-body;\r\n'
-            headerData += ' access-type=\"x-storm\";\r\n'
-            headerData += ' block=\"' + id + '\"\r\n\r\n'
-
-            headerData += string.join(submsg.headers, '')
-            headerData += 'Content-Transfer-Encoding: binary\r\n'
-            headerData += 'Content-ID: ' + id + '\r\n\r\n'
+            header = ['--', msg.getparam("boundary") + '\r\n']
+           header = header + transformHeader(submsg.headers, id)
+           header = string.join(header, '')
 
-            body = string.join(submsg.fp.readlines(), '')
-            mediaserver.addDatum(body, headerLinesB, None, 0)
+           headerData += header
 
         headerData += '--' + msg.getparam("boundary") + '--\r\n\r\n'
         mediaserver.addDatum(headerData, headerLinesH, None, 0)
@@ -97,20 +130,10 @@
         headerLinesB.add('Message-ID: ' + msgID)
        headerLinesB.add('Content-Transfer-Encoding: ' + msg.getencoding())
 
-        id = '<ID>'
+        body = string.join(msg.fp.readlines(), '')
+        id = mediaserver.addDatum(body, headerLinesB, None, 0)
 
-        headerA =  'Content-Type: message/external-body;\r\n'
-        headerA += ' access-type=\"x-storm\";\r\n'
-        headerA += ' block=\"' + id + '\"\r\n'
-
-        mailHeader =  string.join(msg.headers, '')
-        mailHeader += 'Content-Type: ' + msgtype + '\r\n'
-        mailHeader += 'Content-Transfer-Encoding: binary\r\n'
-        mailHeader += 'Content-ID: ' + id + '\r\n'
-
-        mediaserver.addDatum(headerA + '\r\n'
-                             + mailHeader + '\r\n',
-                             headerLinesH, None, 0)
+        header = string.join(transformHeader(msg.headers, id), '')
 
-        body = string.join(msg.fp.readlines(), '')
-        mediaserver.addDatum(body, headerLinesB, None, 0)
+        mediaserver.addDatum(header, headerLinesH, None, 0)
+    mail.close()
Index: gzz/test/gzz/modules/email/converter.test
diff -u gzz/test/gzz/modules/email/converter.test:1.3 
gzz/test/gzz/modules/email/converter.test:1.4
--- gzz/test/gzz/modules/email/converter.test:1.3       Fri Nov  1 14:40:29 2002
+++ gzz/test/gzz/modules/email/converter.test   Sun Nov  3 17:05:08 2002
@@ -34,11 +34,11 @@
 Subject: TestMail
 Message-ID: <address@hidden>
 Mime-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
+Content-Type: text/plain;
+ charset=us-ascii
 Content-Disposition: inline
 User-Agent: Mutt/1.3.28i
 From: Marc Schiereck <address@hidden>
-Content-Transfer-Encoding: binary
 Status: RO
 Content-Length: 10
 Lines: 1
@@ -46,13 +46,12 @@
 TestMail.
 """
 
-mail1HeaderID = 
gzz.mediaserver.Mediaserver.Id("017BCFE43371744AEFFB231B529D12721AF296A9CD")
-mail1BodyID   = 
gzz.mediaserver.Mediaserver.Id("01FC34E8A4E4260459918A94AB046299191E452433")
-
+mail1HeaderID = 
gzz.mediaserver.Mediaserver.Id("012E7F7A7D81226AE7F8FF6BBFB5CC24329E0827ED")
+mail1BodyID   = 
gzz.mediaserver.Mediaserver.Id("016205C5FE4E8CF333F5C3475D07C5BAF9A0D0D2D0")
 
 mail1Header =  "Content-Type: message/external-body;\r\n"
 mail1Header += " access-type=\"x-storm\";\r\n"
-mail1Header += " block=\"<ID>\"\r\n"
+mail1Header += " block=\"storm:block:" + mail1BodyID.getString() + "\"\r\n"
 mail1Header += "\r\n"
 mail1Header += "Return-path: <address@hidden>\r\n"
 mail1Header += "Envelope-to: address@hidden"
@@ -65,17 +64,16 @@
 mail1Header += "Subject: TestMail\r\n"
 mail1Header += "Message-ID: <address@hidden>\r\n"
 mail1Header += "Mime-Version: 1.0\r\n"
-mail1Header += "Content-Type: text/plain; charset=us-ascii\r\n"
+mail1Header += "Content-Type: text/plain;\r\n"
+mail1Header += " charset=us-ascii\r\n"
 mail1Header += "Content-Disposition: inline\r\n"
 mail1Header += "User-Agent: Mutt/1.3.28i\r\n"
 mail1Header += "From: Marc Schiereck <address@hidden>\r\n"
-mail1Header += "Content-Transfer-Encoding: binary\r\n"
 mail1Header += "Status: RO\r\n"
 mail1Header += "Content-Length: 10\r\n"
 mail1Header += "Lines: 1\r\n"
-mail1Header += "Content-Type: text/plain\r\n"
 mail1Header += "Content-Transfer-Encoding: binary\r\n"
-mail1Header += "Content-ID: <ID>\r\n\r\n"
+mail1Header += "Content-ID: storm:block:" + mail1BodyID.getString() + 
"\r\n\r\n"
 
 mail1Body = "TestMail.\r\n"
 
@@ -105,12 +103,12 @@
 
 """
 
-mail2HeaderID = 
gzz.mediaserver.Mediaserver.Id("01C8475E44CE645291A74EA8AAB8E2EE876359E4F8")
+mail2HeaderID = 
gzz.mediaserver.Mediaserver.Id("0187F1932D66C41330612FA274620A6027E5D6F2BD")
 mail2BodyID   = 
gzz.mediaserver.Mediaserver.Id("01B5F43554E0A5D65B4EC6337D3466D59E398C15EB")
 
 mail2Header = "Content-Type: message/external-body;\r\n"
 mail2Header += " access-type=\"x-storm\";\r\n"
-mail2Header += " block=\"<ID>\"\r\n\r\n"
+mail2Header += " 
block=\"storm:block:01B5F43554E0A5D65B4EC6337D3466D59E398C15EB\"\r\n\r\n"
 mail2Header += "Return-path: <address@hidden>\r\n"
 mail2Header += "Envelope-to: address@hidden"
 mail2Header += "Delivery-date: Wed, 16 Oct 2002 00:17:32 +0200\r\n"
@@ -129,9 +127,8 @@
 mail2Header += "Status: RO\r\n"
 mail2Header += "Content-Length: 51\r\n"
 mail2Header += "Lines: 3\r\n"
-mail2Header += "Content-Type: text/plain\r\n"
 mail2Header += "Content-Transfer-Encoding: binary\r\n"
-mail2Header += "Content-ID: <ID>\r\n\r\n"
+mail2Header += "Content-ID: 
storm:block:01B5F43554E0A5D65B4EC6337D3466D59E398C15EB\r\n\r\n"
 
 mail2Body =  "test test test test test\r\n"
 mail2Body += "test test test test test\r\n\r\n"
@@ -167,7 +164,7 @@
 --n8g4imXOkfNTN/H1
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename=testmbox
-Content-Transfer-Encoding: 7bit; filename=oink
+Content-Transfer-Encoding: 7bit
 
 >From address@hidden Wed Oct 16 00:15:44 2002
 Return-path: <address@hidden>




reply via email to

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