diff options
Diffstat (limited to 'bin/sync_members')
-rwxr-xr-x | bin/sync_members | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/bin/sync_members b/bin/sync_members index 13d0b2b0..0c860d25 100755 --- a/bin/sync_members +++ b/bin/sync_members @@ -1,6 +1,6 @@ #! @PYTHON@ # -# Copyright (C) 1998-2003 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2013 by the Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -256,6 +256,10 @@ def main(): try: if not dryrun: mlist.ApprovedAddMember(userdesc, welcome, notifyadmin) + # Avoid UnicodeError if name can't be decoded + if isinstance(name, str): + name = unicode(name, errors='replace') + name = name.encode(enc, 'replace') s = email.Utils.formataddr((name, addr)).encode(enc, 'replace') print _('Added : %(s)s') except Errors.MMAlreadyAMember: @@ -276,6 +280,10 @@ def main(): # reasons is in the database. Use a lower level remove to # get rid of this member's entry mlist.removeMember(addr) + # Avoid UnicodeError if name can't be decoded + if isinstance(name, str): + name = unicode(name, errors='replace') + name = name.encode(enc, 'replace') s = email.Utils.formataddr((name, addr)).encode(enc, 'replace') print _('Removed: %(s)s') |