Menu

#653 sync_members bugs (possible fixes included)

2.1 (stable)
open
nobody
7
2003-01-15
2003-01-11
Eric Ding
No

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

Discussion

  • Eric Ding

    Eric Ding - 2003-01-11

    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.

     
  • Colin Palmer

    Colin Palmer - 2003-01-12

    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.

     
  • Barry Warsaw

    Barry Warsaw - 2003-01-15
    • priority: 5 --> 7
     

Log in to post a comment.