CVS: tmda/TMDA Pending.py,1.25,1.26 ChangeLog,1.301,1.302

Timothy Legant <[email protected]>
Newsgroups gmane.mail.spam.tmda.cvs
Message-ID <[email protected]>
Update of /cvsroot/tmda/tmda/TMDA
In directory sc8-pr-cvs1:/tmp/cvs-serv4711/TMDA

Modified Files:
	Pending.py ChangeLog 
Log Message:
Change Pending.Message.show()'s implementation to catch
failure to Generate and re-parse the message using HeaderParser.

Call self.show() instead of Util.msg_as_string() in Message.release
and Message.summary.


Index: Pending.py
===================================================================
RCS file: /cvsroot/tmda/tmda/TMDA/Pending.py,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- Pending.py	9 Dec 2003 22:12:57 -0000	1.25
+++ Pending.py	10 Dec 2003 07:36:55 -0000	1.26
@@ -456,8 +456,7 @@
         del self.msgobj['X-TMDA-Released']
         self.msgobj['X-TMDA-Released'] = Util.unixdate()
         # Reinject the message to the original envelope recipient.
-        Util.sendmail(Util.msg_as_string(self.msgobj),
-                      self.recipient, self.return_path)
+        Util.sendmail(self.show(), self.recipient, self.return_path)
 
     def delete(self):
         """Delete a message from the pending queue."""
@@ -490,7 +489,12 @@
 
     def show(self):
         """Return the string representation of a message."""
-        return Util.msg_as_string(self.msgobj)
+        try:
+            return Util.msg_as_string(self.msgobj)
+        except TypeError:
+            # Re-parse using HeaderParser if Generator fails.
+            self.msgobj = Util.msg_from_file(open(self.msgfile, 'r'))
+            return Util.msg_as_string(self.msgobj)
 
     def getDate(self):
         timestamp = self.msgid.split('.')[0]
@@ -539,7 +543,7 @@
     def summary(self, count = 0, total = 0, mailto = 0):
         """Return summary header information."""
         if not self.msg_size:
-            self.msg_size = len((Util.msg_as_string(self.msgobj)))
+            self.msg_size = len(self.show())
             if  self.msg_size == 1:
                 self.bytes =    self.bytes[:-1]
         str = self.msgid + " ("

Index: ChangeLog
===================================================================
RCS file: /cvsroot/tmda/tmda/TMDA/ChangeLog,v
retrieving revision 1.301
retrieving revision 1.302
diff -u -r1.301 -r1.302
--- ChangeLog	9 Dec 2003 22:12:57 -0000	1.301
+++ ChangeLog	10 Dec 2003 07:36:55 -0000	1.302
@@ -1,3 +1,11 @@
+2003-12-10  Tim Legant  <[email protected]>
+
+	* Pending.py (Message.show): Change implementation to catch
+	failure to Generate and re-parse the message using HeaderParser.
+
+	(Message.release): Call self.show() instead of Util.msg_as_string().
+	(Message.summary): Ditto.
+
 2003-12-09  Jason R. Mastaler  <[email protected]>
 
 	* Pending.py (Message.initMessage): Remove unnecessary method, and
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.