2 commits - wallace/module_optout.py wallace/modules.py

Jeroen van Meeuwen vanmeeuwen at kolabsys.com
Fri Mar 9 12:33:37 CET 2012


 wallace/module_optout.py |   20 ++++++++++++--------
 wallace/modules.py       |   20 +++++++++++++++-----
 2 files changed, 27 insertions(+), 13 deletions(-)

New commits:
commit 3ee814c43398756b1756628ab8e1f9d09e1acec6
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date:   Fri Mar 9 11:33:12 2012 +0000

    Correct the use of envelope_sender (this is a list??)

diff --git a/wallace/modules.py b/wallace/modules.py
index 8223d7c..c523eba 100644
--- a/wallace/modules.py
+++ b/wallace/modules.py
@@ -200,7 +200,7 @@ X-Wallace-Result: REJECT
 
     msg = MIMEMultipart("report")
     msg['From'] = "MAILER-DAEMON@%s" % (constants.fqdn)
-    msg['To'] = formataddr(envelope_sender)
+    msg['To'] = formataddr(envelope_sender[0])
     msg['Date'] = formatdate(localtime=True)
     msg['Subject'] = ndr_message_subject
 
@@ -225,9 +225,10 @@ X-Wallace-Result: REJECT
     try:
         smtp.sendmail(
                 "MAILER-DAEMON@%s" % (constants.fqdn),
-                [formataddr(envelope_sender)],
+                [formataddr(envelope_sender[0])],
                 msg.as_string()
             )
+
     except smtplib.SMTPDataError, errmsg:
         # DEFER
         pass
@@ -255,12 +256,13 @@ def cb_action_ACCEPT(module, filepath):
 
     try:
         smtp.sendmail(
-                formataddr(envelope_sender),
+                formataddr(envelope_sender[0]),
                 COMMASPACE.join(
                         [formataddr(recipient) for recipient in recipients]
                     ),
                 message.as_string()
             )
+
     except smtplib.SMTPDataError, errmsg:
         # DEFER
         pass
@@ -289,8 +291,16 @@ def register_group(dirname, module):
             if filename.startswith('module_') and filename.endswith('.py'):
                 module_name = filename.replace('.py','')
                 name = module_name.replace('module_', '')
-                #print "exec(\"from %s.%s import __init__ as %s_%s_register\"" % (module,module_name,module,name)
-                exec("from %s.%s import __init__ as %s_%s_register" % (module,module_name,module,name))
+                # TODO: Error recovery from incomplete / incorrect modules.
+                exec(
+                        "from %s.%s import __init__ as %s_%s_register" % (
+                                module,
+                                module_name,
+                                module,
+                                name
+                            )
+                    )
+
                 exec("%s_%s_register()" % (module,name))
 
 def register(name, func, group=None, description=None, aliases=[]):


commit a1d61b59186acf4e148baae656df86556f575b9e
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date:   Fri Mar 9 11:33:00 2012 +0000

    Simplify the use of email here as well

diff --git a/wallace/module_optout.py b/wallace/module_optout.py
index 79cafb7..1aedc7e 100644
--- a/wallace/module_optout.py
+++ b/wallace/module_optout.py
@@ -25,6 +25,10 @@ import time
 from urlparse import urlparse
 import urllib
 
+from email import message_from_file
+from email.utils import formataddr
+from email.utils import getaddresses
+
 import modules
 
 import pykolab
@@ -46,6 +50,7 @@ def description():
     return """Consult the opt-out service."""
 
 def execute(*args, **kw):
+    # TODO: Test for correct call.
     filepath = args[0]
 
     if kw.has_key('stage'):
@@ -60,13 +65,12 @@ def execute(*args, **kw):
 
     log.debug(_("Consulting opt-out service for %r, %r") % (args, kw), level=8)
 
-    import email
-    message = email.message_from_file(open(filepath, 'r'))
-    envelope_sender = email.utils.getaddresses(message.get_all('From', []))
+    message = message_from_file(open(filepath, 'r'))
+    envelope_sender = getaddresses(message.get_all('From', []))
 
     recipients = {
-            "To": email.utils.getaddresses(message.get_all('To', [])),
-            "Cc": email.utils.getaddresses(message.get_all('Cc', []))
+            "To": getaddresses(message.get_all('To', [])),
+            "Cc": getaddresses(message.get_all('Cc', []))
             # TODO: Are those all recipient addresses?
         }
 
@@ -123,8 +127,8 @@ def execute(*args, **kw):
         new_filepath = os.path.join(mybasepath, answer, os.path.basename(filepath))
 
         # Write out a message file representing the new contents for the message
-        # use email.formataddr(recipient)
-        _message = email.message_from_file(open(filepath, 'r'))
+        # use formataddr(recipient)
+        _message = message_from_file(open(filepath, 'r'))
 
         use_this = False
 
@@ -134,7 +138,7 @@ def execute(*args, **kw):
                 _message.__setitem__(
                         recipient_type,
                         ',\n  '.join(
-                                [email.utils.formataddr(x) for x in _recipients[answer][recipient_type]]
+                                [formataddr(x) for x in _recipients[answer][recipient_type]]
                             )
                     )
 





More information about the commits mailing list