[Mailman-Users] Display error for 'members' page

Mark Sapiro msapiro at value.net
Tue Mar 20 18:37:26 CET 2007


Rick Pasotto wrote:

>On Mon, Mar 19, 2007 at 03:41:31PM -0700, Mark Sapiro wrote:
>> 
>> And what is the traceback from this error in Mailman's error log.
>
>Here it is:
>
>Mar 20 12:33:53 2007 admin(13911): @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
>admin(13911): [----- Mailman Version: 2.1.9 -----] 
>admin(13911): [----- Traceback ------] 
>admin(13911): Traceback (most recent call last):
>admin(13911):   File "/var/lib/mailman/scripts/driver", line 110, in run_main
>admin(13911):     main()
>admin(13911):   File "/usr/lib/mailman/Mailman/Cgi/admin.py", line 197, in main
>admin(13911):     show_results(mlist, doc, category, subcat, cgidata)
>admin(13911):   File "/usr/lib/mailman/Mailman/Cgi/admin.py", line 497, in show_results
>admin(13911):     form.AddItem(membership_options(mlist, subcat, cgidata, doc, form))
>admin(13911):   File "/usr/lib/mailman/Mailman/Cgi/admin.py", line 978, in membership_options
>admin(13911):     names = filter(None, [mlist.getMemberName(s) for s in members])
>admin(13911):   File "/usr/lib/mailman/Mailman/OldStyleMemberships.py", line 131, in getMemberName
>admin(13911):     self.__assertIsMember(member)
>admin(13911):   File "/usr/lib/mailman/Mailman/OldStyleMemberships.py", line 113, in __assertIsMember
>admin(13911):     raise Errors.NotAMemberError, member
>admin(13911): NotAMemberError: tdeal at Charlotte.EthenAllen.com



The problem is the upper case letters in the domain. This shouldn't
happen, but there may be a mailman bug. I don't see a problem in the
code, but there may be.

You can see the issue with bin/dumpdb or bin/withlist, and fix it with
withlist. The list's members (or digest_members) dictionary should
have the key:value pair

'tdeal at charlotte.ethenallen.com':'tdeal at Charlotte.EthenAllen.com'

for this member. There should be no upper case in the key. It might
also be a good idea to do

  bin/dumpdb lists/listname/config.pck | grep EthanAllen

to make sure there are no other upper case entries.

Assuming the only problem is that the entry in the members (or
digest_members) dictionary is either

'tdeal at Charlotte.EthenAllen.com':0

or

'tdeal at Charlotte.EthenAllen.com':'tdeal at Charlotte.EthenAllen.com'

you can fix it with withlist. Start withlist with

bin/withlist -l listname

Then do the following (assuming a regular member)

m.members['tdeal at charlotte.ethenallen.com'] = \
    'tdeal at Charlotte.EthenAllen.com'
del m.members['tdeal at Charlotte.EthenAllen.com']
m.Save()

(control-D to exit)

If you don't care about preserving case in the domain, the first two
lines could be replaced by

m.members['tdeal at charlotte.ethenallen.com'] = 0



>> <http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq03.013.htp>
>> may help.
>
>I don't see why you would think so.
>
>'bin/list_members -i listname' returns nothing.


But if it had returned something, it would have been helpful ;-)

-- 
Mark Sapiro <msapiro at value.net>       The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan



More information about the Mailman-Users mailing list