| Server IP : 82.208.35.60 / Your IP : 216.73.217.39 Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31 System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64 User : studiokobylisy_cz ( 1008) PHP Version : 7.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/local/lib/python3.6/site-packages/zope/event/ |
Upload File : |
"""Class-based event handlers
"""
import zope.event
registry = {}
def handler(event_class, handler=None):
if handler is None:
return lambda func: handler(event_class, func)
if not registry:
zope.event.subscribers.append(dispatch)
if event_class not in registry:
registry[event_class] = [handler]
else:
registry[event_class].append(handler)
def dispatch(event):
for event_class in event.__class__.__mro__:
for handler in registry.get(event_class, ()):
handler(event)