tmda-cgi: Message.get_type() in View.py

"Jason R. Mastaler" <[email protected]>
Newsgroups gmane.mail.spam.tmda.devel
Message-ID <[email protected]>
I upgraded TMDA's python email lib to v4.0.1, and it broke something in 
tmda-cgi.  It seems View.py was using Message.get_type(), which even in 
the old version we were using before this upgrade, was a deprecated 
method.  Just silently deprecated though, so things still worked.  But 
when I upgraded, that method was no longer there.

Message.get_content_type() is what replaces it.  See 
http://docs.python.org/lib/module-email.message.html

Review the attached diff and see if that's correct.  It does allow 
tmda-cgi to work again (I tested).  I also grepped through the tmda-cgi 
source for other deprecated methods 
(http://docs.python.org/lib/email-pkg-history.html) and didn't find any, 
so hopefully this is the only change that's required.

I'll hold off on checking this in until I hear from you.  Or if you 
prefer another fix, by all means do that instead.
View.diff (text/x-patch, 1.8 KB)
Index: View.py
===================================================================
--- View.py	(revision 2075)
+++ View.py	(working copy)
@@ -59,10 +59,10 @@
   elif SoundType1.search(Filename): Icon = "sound"
   elif TextType1.search(Filename): Icon = "text"
   elif ZipType1.search(Filename): Icon = "zip"
-  elif ImageType2.search(Part.get_type("text/plain")): Icon = "image"
-  elif MovieType2.search(Part.get_type("text/plain")): Icon = "movie"
-  elif SoundType2.search(Part.get_type("text/plain")): Icon = "sound"
-  elif ZipType2.search(Part.get_type("text/plain")): Icon = "zip"
+  elif ImageType2.search(Part.get_content_type()): Icon = "image"
+  elif MovieType2.search(Part.get_content_type()): Icon = "movie"
+  elif SoundType2.search(Part.get_content_type()): Icon = "sound"
+  elif ZipType2.search(Part.get_content_type()): Icon = "zip"
   Attachment["Icon"]     = Icon
   Attachment["Filename"] = Filename
   Attachment["Size"]     = CgiUtil.Size(MsgSize = len(Part.as_string()))
@@ -331,12 +331,12 @@
 
   # Display this part
   if Part.is_multipart():
-    if Part.get_type("multipart/mixed") == "multipart/alternative":
+    if Part.get_content_type() == "multipart/alternative":
       # Pick preferred alternative
       PrefPart   = None
       PrefRating = -1
       for SubPart in Part.get_payload():
-        Type = SubPart.get_type("text/plain")
+        Type = SubPart.get_content_type()
         Rating = PVars[("ViewPending", "AltPref")].find(Type)
         # Is this part preferred?
         if (not PrefPart) or ((PrefRating == -1) and (Rating >= 0)) \
@@ -350,7 +350,7 @@
       for SubPart in Part.get_payload():
         ShowPart(SubPart)
   else:
-    Type = Part.get_type("text/plain")
+    Type = Part.get_content_type()
     # Display the easily display-able parts
     if Type == "text/html":
       # Sterilize & display
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.