SF.net SVN: tmda: [2048] trunk/tmda-cgi
[email protected] Mon, 02 Oct 2006 13:10:05 -0700
| Newsgroups | gmane.mail.spam.tmda.cvs |
|---|---|
| Message-ID | <[email protected]> |
Revision: 2048
http://svn.sourceforge.net/tmda/?rev=2048&view=rev
Author: lack
Date: 2006-10-02 13:09:59 -0700 (Mon, 02 Oct 2006)
Log Message:
-----------
Fixed pending list and message views for new Pending Queue layout
Modified Paths:
--------------
trunk/tmda-cgi/CgiUtil.py
trunk/tmda-cgi/PendList.py
trunk/tmda-cgi/View.py
Modified: trunk/tmda-cgi/CgiUtil.py
===================================================================
--- trunk/tmda-cgi/CgiUtil.py 2006-10-02 20:01:16 UTC (rev 2047)
+++ trunk/tmda-cgi/CgiUtil.py 2006-10-02 20:09:59 UTC (rev 2048)
@@ -31,6 +31,7 @@
import Template
from TMDA import Errors
+from TMDA import Util
# Handy values
DispDir = os.environ["TMDA_CGI_DISP_DIR"]
@@ -51,7 +52,7 @@
def Size(MsgObj = None, MsgSize = 0):
if MsgObj:
- MsgSize = os.stat(MsgObj.msgfile)[6]
+ MsgSize = len(MsgObj.show())
if MsgSize > 512:
if MsgSize > 5120:
if MsgSize > 524288:
@@ -82,12 +83,12 @@
def TermError(Err, Cause, Failed, Other, Recommend):
try:
- T = Template.Template(ErrTemplate)
+ T = Template.Template(ErrTemplate, PVars = PVars)
except IOError:
T = Template.Template(SubTemplate = ["""Error:<br>%(ErrorName)s<p>
Cause:<br>%(Cause)s<p>
Additional:<br>%(Additional)s<p>
-Recommend:<br>%(Recommendation)s"""])
+Recommend:<br>%(Recommendation)s"""], PVars = PVars)
T["ErrorName"] = Err
T["Cause"] = Cause
T["Additional"] = """Running in %s mode.<br>
Modified: trunk/tmda-cgi/PendList.py
===================================================================
--- trunk/tmda-cgi/PendList.py 2006-10-02 20:01:16 UTC (rev 2047)
+++ trunk/tmda-cgi/PendList.py 2006-10-02 20:09:59 UTC (rev 2048)
@@ -35,7 +35,7 @@
from TMDA import Pending
# Pre-calc the regular expressions
-GoodFN = re.compile("^\d+\.\d+\.msg$")
+GoodFN = re.compile("^\d+\.\d+$")
Address = re.compile("^(.+) +<(.+)>")
ZeroSearch = re.compile("Z-0*(\d)")
ZeroSub = r"\1"
Modified: trunk/tmda-cgi/View.py
===================================================================
--- trunk/tmda-cgi/View.py 2006-10-02 20:01:16 UTC (rev 2047)
+++ trunk/tmda-cgi/View.py 2006-10-02 20:09:59 UTC (rev 2048)
@@ -79,7 +79,7 @@
PVars.Save()
# Check to make sure they're not trying to access anything other than email
- if not re.compile("^\d+\.\d+\.msg$").search(PVars["MsgID"]):
+ if not re.compile("^\d+\.\d+$").search(PVars["MsgID"]):
CgiUtil.TermError("<tt>%s</tt> is not a valid message ID." % PVars["MsgID"],
"Program error / corrupted link.", "retrieve pending e-mail", "",
"Recheck link or contact TMDA programmers.")
@@ -210,7 +210,7 @@
T["DispRange"] = "%d of %d" % (MsgIdx + 1, len(Msgs))
# Read in e-mail
- MsgObj = Pending.Message(PVars["MsgID"])
+ MsgObj = Pending.Message(PVars["MsgID"], fullParse=True)
Queue._addCache(PVars["MsgID"])
Queue._saveCache()
@@ -222,15 +222,15 @@
# Generate all headers
Headers = ""
- for Line in CgiUtil.Escape(MsgObj.show()).split("\n"):
- if Line == "": break
+ for (header, value) in MsgObj.msgobj.items():
+ Headers += header + ": " + value + "\n"
# Decode internationalized headers
- for decoded in email.Header.decode_header( Line ):
- Headers += decoded[0] + " "
- if decoded[1]:
- cset = email.Charset.Charset(decoded[1]).input_charset.split()
- T["CharSet"] = cset[0]
- Headers += "\n"
+ #for decoded in email.Header.decode_header( Line ):
+ # Headers += decoded[0] + " "
+ # if decoded[1]:
+ # cset = email.Charset.Charset(decoded[1]).input_charset.split()
+ # T["CharSet"] = cset[0]
+ #Headers += "\n"
T["Headers"] = '<pre class="Headers">%s</pre>' % Headers
else:
# Remove all header block
@@ -352,29 +352,29 @@
else:
Type = Part.get_type("text/plain")
# Display the easily display-able parts
- if Type == "text/plain":
+ if Type == "text/html":
+ # Sterilize & display
# Check if there's a character set for this part.
if Part.get_content_charset():
cset = email.Charset.Charset(Part.get_content_charset()).input_charset.split()
T["CharSet"] = cset[0]
- # Escape & display
try:
- Str = Part.get_payload(decode=1).strip()
- T["Content"] = CgiUtil.Escape(Str).replace("\n", " <br>")
+ T["Content"] = \
+ CgiUtil.Sterilize(Part.get_payload(decode=1), Allow, Remove)
if len(PartTemplate.HTML) == 1:
Divider.Add()
PartTemplate.Add()
except AttributeError:
pass
- elif Type == "text/html":
- # Sterilize & display
+ elif Type.startswith("text/"):
# Check if there's a character set for this part.
if Part.get_content_charset():
cset = email.Charset.Charset(Part.get_content_charset()).input_charset.split()
T["CharSet"] = cset[0]
+ # Escape & display
try:
- T["Content"] = \
- CgiUtil.Sterilize(Part.get_payload(decode=1), Allow, Remove)
+ Str = Part.get_payload(decode=1).strip()
+ T["Content"] = CgiUtil.Escape(Str).replace("\n", " <br>")
if len(PartTemplate.HTML) == 1:
Divider.Add()
PartTemplate.Add()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.