[Nym3-commit] r263 - trunk/nym3

jr at conuropsis.org jr at conuropsis.org
Fri May 20 19:53:00 CEST 2005


Author: jr
Date: 2005-05-20 19:52:59 +0200 (Fri, 20 May 2005)
New Revision: 263

Modified:
   trunk/nym3/Mail.py
Log:
change the length of a summary and rewrite synopsize using email module


Modified: trunk/nym3/Mail.py
===================================================================
--- trunk/nym3/Mail.py	2005-05-19 19:28:41 UTC (rev 262)
+++ trunk/nym3/Mail.py	2005-05-20 17:52:59 UTC (rev 263)
@@ -33,7 +33,7 @@
 import email.Parser
 import nym3.Common as Common
 
-slen = 180
+slen = 128
 """The length of a summary in bytes"""
 
 midLen = Common.midLength
@@ -55,21 +55,31 @@
     vheaders = [ 'Cc', 'From', 'Date', 'In-Reply-To', 'Sender',
 		 'Message-Id', 'References', 'Return-Path', 'Subject',
 		 'To', 'X-Anonymous', 'X-Spam-Level']
-    a = re.search("""\n\n""", msg)
-    if a:
-	headers = msg[0 : a.start(0)]
-	body = msg[a.start(0) + 1: a.start(0) + slen]
-    else:
-	headers = msg
-	body = ''
+    par = email.Parser.HeaderParser() 
+    message = par.parsestr(msg)
     res = ''
+    print message.keys()
     for i in vheaders:
-	a = re.search('^(' + i + ':.*)$', headers, re.M)
-	if a:
-	    res = res + a.group(1)[0:80] + "\n" # TODO : append?
+	if i in message:
+	    res = res + i + ': ' + message[i][0:80] + "\n"
+    l = message.get_all('Received')
+    if l:
+	res = res + 'Received: ' + l[0][0:80] + "\n"
     res = res + 'X-Octets: ' + str(len(msg)) + "\n"
     res = res + 'X-Nym-Sequence: ' + str(seq) + "\n"
-    res = res + body
+    res = res + "\n"
+    print res
+    if not message.is_multipart():
+	res = res + message.get_payload()[0:slen]
+    else:
+	n = 0
+	p = message.get_payload()
+	j = 0
+	while n < slen and j < len(p):
+	    s = p[j].as_string(True)[0:slen - n]
+	    res = res + s
+	    n = n + len(s)
+	    j = j + 1
     return res
 
 def syn_summary(synopsis):



More information about the Nym3-commit mailing list