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