[Mailman-Users] Simple notification handler

Yves Moisan yves.moisan at boreal-is.com
Thu Dec 22 21:11:58 CET 2011


Hi Mark,

Our emails crossed here.  I just tried importing my handler on the 
python prompt and the syntax error popped obvious.  The minute the 
pipeline for the list was set with /bin/config_list I could see the pyc 
so I knew I was in business.

A final question : I see now that even restarting Mailman won't change 
the list-specific handler application and one needs to explicitly delete 
it if one wants to get rid of it.  That's a good thing.  But where are 
list-specific pipeline defs stored ?

Thanx!

Yves

> Yves Moisan wrote:
>> It seems the handler stops the list from working.  When I delete the new
>> pipeline the list works fine so it's the Python file (or the way I
>> included it in the pipeline ?) that has a problem.
>>
>> I've tried including a she-bang line or not (see below for both the
>> handler and the text file used to shove it in the list pipeline),
>> importing Message in addition to UserNotification and a few other things
>> to no avail.  One thing I find odd is that the handler doesn't get a
>> .pyc file upon restart.  Should I expect that or does it get created the
>> first time it is invoked ?
>
> The .pyc file will not get created until the handler is imported which
> does not happen until IncomingRunner handles a post for a list which
> has the handler in its pipeline.
>
> Also, IncomingRunner is a python process which imports the handler, so
> no shebang line is required.
>
>
>> I've copied the file over from a windows machine and I took care of
>> chowning it so it has the same permissions as the other Handlers.  The
>> file looks ok in vi.  What other options do I have before pdb ?
>
> Check Mailman's error log.
>
> Also, see below.
>
>
>> === BackupErrors.py ===
>>
> [...]
>> def process(mlist, msg, msgdata):
>>      subject = Utils.oneline(msg['subject'], 'us-ascii')
>>      if re.search('.*error.*', subject, re.IGNORECASE)
>
> I misled you here. The above line needs to be
>
>       if re.search('.*error.*', subject, re.IGNORECASE):
>
> The missing colon results in a syntax error which causes all list posts
> to be shunted. There will be an error message and traceback in
> Mailman's error log. If the messages that were shunted are wanted, you
> can process them with Mailman's bin/unshunt. If not, remove them from
> qfiles/shunt.
>



More information about the Mailman-Users mailing list