[Mailman-Users] hide lists from listinfo page only (leaveonadmin page)
Mark Sapiro
msapiro at value.net
Mon Oct 10 17:36:27 CEST 2005
Xiaoyan Ma wrote:
>On Fri, 7 Oct 2005 10:12:48 -0700
> Mark Sapiro <msapiro at value.net> wrote:
>>>
>>>.....
>>>for name in listnames:(but not in notshowns)
>>
>Thank you. I just started learning python, so I wanted to find out if I am on the right track
>first. I have spent 2 hours on these few lines of code, but have not got it to work yet. I tried
>to run the listinfo.py file alone to debug and got the following message (either running the
>original file that came with the package or what I have modified):
>
> python /var/mailman/Mailman/Cgi/listinfo.py
>Traceback (most recent call last):
> File "/var/mailman/Mailman/Cgi/listinfo.py", line 25, in ?
> from Mailman import mm_cfg
>ImportError: No module named Mailman
>
>What did I miss?
By default, Python will only access modules in the Python libraries and
the directory that contains the current module. Modules in the bin/
directory for example get around this by importing 'paths' which is
the bin/paths.py file which sets some additional directories in the
search paths.
The easiest way to make this work for testing purposes is just to store
your test file in the $prefix directory, i.e. the directory that
contains the Mailman/, bin/, etc. directories.
>>
>> Presumably this is pseudocode. It's not Python. Python might be
>>
>> for name in listnames:
>> if name in notshowns:
>> continue
>>
>>
>>> mlist = MailList.MailList(name, lock=0)
>>> if mlist.advertised:
<snip>
>>>...
A key thing in Python code is indentation because that's how Python
determines block structure. It is critical that things be indented
consistently and that either tabs or spaces but not a mixture be used
for indentation. The above snippet, properly indented looks like
for name in listnames:
if name in notshowns:
continue
mlist = MailList.MailList(name, lock=0)
if mlist.advertised:
It is critical that "if name in notshowns:" is indented exactly the
same amount as "mlist = MailList.MailList(name, lock=0)" and that
other indentation be preserved exactly as in the original.
>Tha goal is to avoid clutter and subscription attempts. I think modify the admin.py file as you
>suggested might be a better option. Maybe require authentication to access the admin page.
Presumably you will have the lists' subscribe_policy set to 'Require
approval'. I am only guessing, but I think that not showing the lists
on the listinfo page would reduce the spurious subscription attempts
to a level where manually rejecting them would not be too burdensome.
I would guess there would certainly be no more subscription requests
than non-member posts.
What I'm saying here is that authenticating access to the admin
overview page could be tricky (what password(s) would be used?) and
may not be worth the trouble.
--
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