While trying to run sync_members in MM 2.1, I get the
following errors:
Traceback (most recent call last):
File "/home/mailman/bin/sync_members", line 286, in ?
main()
File "/home/mailman/bin/sync_members", line 258, in main
s = email.Utils.formataddr((name,
addr)).encode(enc, replace')
UnboundLocalError: local variable 'enc' referenced
before assignment
I worked around this by adding
enc = sys.getdefaultencoding()
at line 258. But then the script throws an error while
trying to remove members! Here's the traceback:
File "/home/mailman/bin/sync_members", line 287, in ?
main()
File "/home/mailman/bin/sync_members", line 276, in main
name = mlist.getMemberName(laddr) or ''
File "/home/mailman/Mailman/OldStyleMemberships.py",
line 128, in getMemberName
self.__assertIsMember(member)
File "/home/mailman/Mailman/OldStyleMemberships.py",
line 113, in __assertIsMember
raise Errors.NotAMemberError, member
Mailman.Errors.NotAMemberError: xxxxx@hotmail.com
If I change line 276 to just set name to '', then the
script completes successfully. Is it possible it's
trying to reference member name after the member has
already been deleted from the list?
Eric
Logged In: YES
user_id=302756
While I think my fix was sufficient, I think a more elegant
one would be to move the offending line (i.e.,
mlist.getMemberName) further up in its clause, so that it's
called before the address is deleted from the list.
Logged In: YES
user_id=658762
Just ran into this one this morning too. Moving the call
to mlist.getMemberName(laddr) up to line 266 solved it for me.