[core] restructure to allow PIP packaging
OK - so I have to admit I *hate* the fact that PIP seems to require a subdirectory named like the library. But since the PIP package is something really nifty to have (thanks to @tony again!!!), I updated the codebase to hopefully conform with what PIP expects. Testruns so far look promising...
This commit is contained in:
parent
1d25be2059
commit
320827d577
146 changed files with 2509 additions and 2 deletions
29
bumblebee_status/core/event.py
Normal file
29
bumblebee_status/core/event.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
__callbacks = {}
|
||||
|
||||
|
||||
def register(event, callback, *args, **kwargs):
|
||||
cb = callback
|
||||
if len(args) + len(kwargs) > 0:
|
||||
cb = lambda: callback(*args, **kwargs)
|
||||
|
||||
__callbacks.setdefault(event, []).append(cb)
|
||||
|
||||
|
||||
def clear():
|
||||
__callbacks.clear()
|
||||
|
||||
|
||||
def trigger(event, *args, **kwargs):
|
||||
cb = __callbacks.get(event, [])
|
||||
if len(cb) == 0:
|
||||
return False
|
||||
|
||||
for callback in cb:
|
||||
if len(args) + len(kwargs) == 0:
|
||||
callback()
|
||||
else:
|
||||
callback(*args, **kwargs)
|
||||
return True
|
||||
|
||||
|
||||
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
Loading…
Add table
Add a link
Reference in a new issue