Trivial, primitive, naive, and optimistic hook registry in Python
Project description
It’s really simple. There are some events in the lifetime of your simple Python application that you want to hook into, and you don’t want to be overriding methods or writing conditional code to do that. What you do is you introduce hooks and register callbacks.
from hookery import HookRegistry
hooks = HookRegistry()
# It doesn't matter where you put the hook instance.
# We set it as hooks attribute to keep things tidy.
hooks.user_added = hooks.create_hook('user_added')
_users = {}
def create_user(username, password):
_users[username] = password
hooks.handle(hooks.user_added, username=username)
@hooks.user_added
def notify_me():
print('A new user has been added!')
@hooks.user_added
def say_hi(username):
print('Hi, {}'.format(username))
>>> create_user('Bob', password='secret')
A new user has been added!
Hi, Bob
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hookery-0.1.2.tar.gz
(3.5 kB
view hashes)