Update of /cvsroot/tmda/tmda/contrib/cgi
In directory sc8-pr-cvs1:/tmp/cvs-serv29806

Modified Files:
        Pending.py 
Log Message:
Crop long subject lines down to a length defined in Defaults.py.

If sender's address is in the form:

  name <address>

Just show the name portion.

Crop long sender names down to a length defined in Defaults.py.


Index: Pending.py
===================================================================
RCS file: /cvsroot/tmda/tmda/contrib/cgi/Pending.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Pending.py  6 Dec 2002 17:05:55 -0000       1.5
+++ Pending.py  12 Dec 2002 22:07:46 -0000      1.6
@@ -33,7 +33,8 @@
 from TMDA import Pending
 
 # Pre-calc the regular expressions
-GoodFN = re.compile("^\d+\.\d+\.msg$")
+GoodFN  = re.compile("^\d+\.\d+\.msg$")
+Address = re.compile("^(.+) +<.+>")
 
 def Show():
   "Show all pending e-mail in an HTML form."
@@ -243,15 +244,36 @@
         Date = "None"
   
       # Subject:
-      if MsgObj.msgobj["subject"] == "": Subject = "None"
-      else: Subject = MsgObj.msgobj["subject"]
+      if not MsgObj.msgobj["subject"]:
+        Subject = "None"
+      else:
+        Subject = MsgObj.msgobj["subject"]
+        if len(Subject) > Defaults.CGI_CROP_SUBJECT:
+          Subject = \
+            cgi.escape(Subject[:Defaults.CGI_CROP_SUBJECT - 1]) + "&#8230;"
+        else:
+          Subject = cgi.escape(Subject)
+
+      # From:
+      if not MsgObj.msgobj["from"]:
+        From = ""
+      else:
+        From = MsgObj.msgobj["from"]
+        Temp = Address.search(From)
+        if Temp:
+          From = Temp.group(1)
+      if len(From) > Defaults.CGI_CROP_SENDER:
+        From = \
+          cgi.escape(From[:Defaults.CGI_CROP_SENDER - 1]) + "&#8230;"
+      else:
+        From = cgi.escape(From)
       
       if PVars["InProcess"].has_key(Msg):
         # Message is "in process"
         print """          <tr class="InProcess"> 
             <td></td>
             <td>%s</td>
-            <td>%s</td>""" % (MsgObj.msgobj["from"], Subject)
+            <td>%s</td>""" % (From, Subject)
         InProcMsg = """<table>
   <tr>
     <td class="Note">Note:</td>
@@ -265,7 +287,7 @@
       else:
         # Message is not "in process"
         print """          <tr> 
-            <td>
+            <td nowrap>
               <input name="a%d" type="radio" value="pass" checked>
               <input name="a%d" type="radio" value="release">
               <input name="a%d" type="radio" value="delete">""" % (Count, Count, 
Count)
@@ -279,8 +301,8 @@
             </td>
             <td>%s</td>
             <td><a href="%s?cmd=view&msgid=%s&SID=%s">%s</a></td>""" % \
-          (Count, Msg, MsgObj.msgobj["from"], os.environ["SCRIPT_NAME"], Msg, 
-          PVars.SID, Subject)
+          (Count, Msg, From, os.environ["SCRIPT_NAME"], Msg, PVars.SID,
+          Subject)
       
       # Finish message record regardless of whether it is "in process"
       print """            <td>%s</td>

_______________________________________
tmda-cvs mailing list
http://tmda.net/lists/listinfo/tmda-cvs

Reply via email to