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