> On Mar 8, 2022, at 12:45, Дилян Палаузов <dpa-mail...@aegee.org> wrote:
> 
> Hello,
> 
> the object passed was actually an unsubscription/subscription event,
> which was just pretty-printed.
> 
> Is there any explanation, why in the code below YYY is not printed?
> 
> when I add
> 
>    def pre_hook(self):
>        print('pre_HOOK')
> 
> 
> pre_HOOK is also not printed, but __init__ is called, as XXX is
> printed.

I am not sure if you figured it out already, I see that you moved your code 
from pre_hook to __init__ for your plugin.

Just for testing, I enabled the `print(‘hello world’)` in your plugin and in a 
local install and it seems to work,


```
$ mailman info
Hello World
GNU Mailman 3.3.6b1 (Tom Sawyer)
Python 3.9.10 (main, Jan 15 2022, 11:40:53)
[Clang 13.0.0 (clang-1300.0.29.3)]
config file: /Users/maxking/Documents/mm3/core-workspace-2/var/etc/mailman.cfg
db url: 
sqlite:////Users/maxking/Documents/mm3/core-workspace-2/var/data/mailman.db
devmode: DISABLED
REST root url: http://localhost:8001/3.1/
REST credentials: restadmin:restpass
```

The configuration is like your README.md recommends

```
[plugin.mailman_sieve]
class: mailman_sieve.SievePlugin
enabled: yes
configuration: ./sieve.cfg
```

> Greetings
>  Дилян
> 
> On Tue, 2022-03-08 at 19:39 +0200, Дилян Палаузов wrote:
>> Hello,
>> 
>> can you point me to existing, open-source mailman plugins?


We don’t currently have any that i know of, so this is really the first one! I 
am happy to see that :-)

We should put up a list of community maintained plugins in a page at 
docs.mailman3.org so the users can actually discover them plugin.

>> 
>> I want to write a plugin, which fires on all subscriptions,
>> unsubscriptions and configuration changes.
>> 
>> This code:
>> 
>> def subscribe_events(e):
>>     print('EVENT', e)
>> 
>> @implementer(IPlugin)
>> class SievePlugin:
>>     def __init__(self):
>>         print('XXX')
>>         zope.event.subscribers.append(subscribe_events)
>> 
>>     def post_hook(self):
>>         print('YYY')
>>         zope.event.subscribers.append(subscribe_events)
>> 
>> 
>> prints:
>> XXX
>> EVENT x...@example.org joined zzz.udoma.bapha.be
>> EVENT ab c <m...@example.org> joined zzz.udoma.bapha.be

I guess you were using `print` statements for debugging when working on the 
plugin, but generally, it is good to use logging library instead since print 
logs to stdout, which might not be set correctly in daemon processes like 
Mailman.

>> 
>> or
>> XXX
>> EVENT x...@example.org left zzz.udoma.bapha.be
>> 
>> on `mailman addmembers/mailman delmembers`.  But it does not trigger
>> a
>> UnsubscriptionEvent or SubscriptionEvent.
>> 
>> Greetings
>>   Дилян
> 
> _______________________________________________
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9

--
thanks,
Abhilash Raj (maxking)


Attachment: signature.asc
Description: Message signed with OpenPGP

_______________________________________________
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9

Reply via email to