Hello,

On Thu, 2022-03-10 at 11:26 -0800, Abhilash Raj wrote:
> 
> 
> > 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.
> 
pre_hook(), post_hook() and resource must be present in the IPLugin
implementation, see https://gitlab.com/mailman/mailman/-/issues/985 .
Otherwise logs/plugins.log gets:

Mar 11 10:11:00 2022 (1998657) Plugin class does not implement IPlugin:
mailman_sieve.SievePlugin

and ”mailman info” does not call the hooks.

What is the difference between doing something in pre_hook(), or in
__init__() ?

Greetings
  Дилян


> 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)
> 
> 
> _______________________________________________
> 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

_______________________________________________
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