From 2086e982f410d70c11a9da7eb463cd1b917c8175 Mon Sep 17 00:00:00 2001 From: "Jeroen van Meeuwen (Kolab Systems)" Date: Thu, 16 May 2013 20:42:57 +0200 Subject: Catch the cases where a recipient policy fails --- pykolab/plugins/recipientpolicy/__init__.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'pykolab/plugins/recipientpolicy') diff --git a/pykolab/plugins/recipientpolicy/__init__.py b/pykolab/plugins/recipientpolicy/__init__.py index 4a19132..6ca70ef 100644 --- a/pykolab/plugins/recipientpolicy/__init__.py +++ b/pykolab/plugins/recipientpolicy/__init__.py @@ -121,7 +121,14 @@ class KolabRecipientpolicy(object): _domains = [ kw['primary_domain'] ] + kw['secondary_domains'] for attr in [ 'givenname', 'sn', 'surname' ]: - user_attrs[attr] = utils.translate(user_attrs[attr], user_attrs['preferredlanguage']) + try: + user_attrs[attr] = utils.translate(user_attrs[attr], user_attrs['preferredlanguage']) + except Exception, errmsg: + log.error(_("An error occurred in composing the secondary mail attribute for entry %r") % (user_attrs['id'])) + if conf.debuglevel > 8: + import traceback + traceback.print_exc() + return [] for number in alternative_mail_routines.keys(): for routine in alternative_mail_routines[number].keys(): @@ -131,8 +138,12 @@ class KolabRecipientpolicy(object): log.debug(_("Appending additional mail address: %s") % (retval), level=8) alternative_mail.append(retval) - except KeyError, e: - log.warning(_("Attribute substitution for 'alternative_mail' failed in Recipient Policy")) + except Exception, errmsg: + log.error(_("Policy for secondary email address failed: %r") % (errmsg)) + if conf.debuglevel > 8: + import traceback + traceback.print_exc() + return [] for _domain in kw['secondary_domains']: user_attrs['domain'] = _domain -- cgit v1.1