summaryrefslogtreecommitdiff
path: root/mailman/pipeline/decorate.py
diff options
context:
space:
mode:
authorBarry Warsaw2008-03-27 05:14:14 -0400
committerBarry Warsaw2008-03-27 05:14:14 -0400
commit17f286de64cb3373d68c4fefba6d9369b4e3f960 (patch)
tree5078531044f0574dfa340a389bd6d0bb9eea717f /mailman/pipeline/decorate.py
parentde9deb660c5d48a083f0c56916cca6aa0cb010b3 (diff)
downloadmailman-17f286de64cb3373d68c4fefba6d9369b4e3f960.tar.gz
mailman-17f286de64cb3373d68c4fefba6d9369b4e3f960.tar.zst
mailman-17f286de64cb3373d68c4fefba6d9369b4e3f960.zip
Diffstat (limited to 'mailman/pipeline/decorate.py')
-rw-r--r--mailman/pipeline/decorate.py26
1 files changed, 13 insertions, 13 deletions
diff --git a/mailman/pipeline/decorate.py b/mailman/pipeline/decorate.py
index 100c1cb6e..387685f12 100644
--- a/mailman/pipeline/decorate.py
+++ b/mailman/pipeline/decorate.py
@@ -48,21 +48,21 @@ def process(mlist, msg, msgdata):
if msgdata.get('personalize'):
# Calculate the extra personalization dictionary. Note that the
# length of the recips list better be exactly 1.
- recips = msgdata.get('recips')
- assert isinstance(recips, list) and len(recips) == 1, (
+ recips = msgdata.get('recips', [])
+ assert len(recips) == 1, (
'The number of intended recipients must be exactly 1')
- member = recips[0].lower()
- d['user_address'] = member
- try:
- d['user_delivered_to'] = mlist.getMemberCPAddress(member)
+ recipient = recips[0].lower()
+ user = config.db.user_manager.get_user(recipient)
+ member = mlist.members.get_member(recipient)
+ d['user_address'] = recipient
+ if user is not None and member is not None:
+ d['user_delivered_to'] = member.address.original_address
# BAW: Hmm, should we allow this?
- d['user_password'] = mlist.getMemberPassword(member)
- d['user_language'] = mlist.getMemberLanguage(member)
- username = mlist.getMemberName(member) or None
- d['user_name'] = username or d['user_delivered_to']
- d['user_optionsurl'] = mlist.GetOptionsURL(member)
- except Errors.NotAMemberError:
- pass
+ d['user_password'] = user.password
+ d['user_language'] = member.preferred_language
+ d['user_name'] = (user.real_name if user.real_name
+ else member.address.original_address)
+ d['user_optionsurl'] = member.options_url
# These strings are descriptive for the log file and shouldn't be i18n'd
d.update(msgdata.get('decoration-data', {}))
header = decorate(mlist, mlist.msg_header, d)