
On Mar 8, 2022, at 12:45, Дилян Палаузов <dpa-mailman@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 <mm@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-leave@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)