diff options
Diffstat (limited to 'lib/bb/event.py')
-rw-r--r-- | lib/bb/event.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/lib/bb/event.py b/lib/bb/event.py index 3e5718395..22171a9ca 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -118,7 +118,7 @@ def fire_class_handlers(event, d): if _eventfilter: if not _eventfilter(name, handler, event, d): continue - if d and not name in (d.getVar("__BBHANDLERS_MC") or []): + if d and not name in (d.getVar("__BBHANDLERS_MC") or set()): continue execute_handler(name, handler, event, d) @@ -232,15 +232,15 @@ noop = lambda _: None def register(name, handler, mask=None, filename=None, lineno=None, data=None): """Register an Event handler""" - if data and data.getVar("BB_CURRENT_MC"): + if data is not None and data.getVar("BB_CURRENT_MC"): mc = data.getVar("BB_CURRENT_MC") name = '%s%s' % (mc.replace('-', '_'), name) # already registered if name in _handlers: - if data: - bbhands_mc = (data.getVar("__BBHANDLERS_MC") or []) - bbhands_mc.append(name) + if data is not None: + bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set()) + bbhands_mc.add(name) data.setVar("__BBHANDLERS_MC", bbhands_mc) return AlreadyRegistered @@ -278,16 +278,16 @@ def register(name, handler, mask=None, filename=None, lineno=None, data=None): _event_handler_map[m] = {} _event_handler_map[m][name] = True - if data: - bbhands_mc = (data.getVar("__BBHANDLERS_MC") or []) - bbhands_mc.append(name) + if data is not None: + bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set()) + bbhands_mc.add(name) data.setVar("__BBHANDLERS_MC", bbhands_mc) return Registered def remove(name, handler, data=None): """Remove an Event handler""" - if data: + if data is not None: if data.getVar("BB_CURRENT_MC"): mc = data.getVar("BB_CURRENT_MC") name = '%s%s' % (mc.replace('-', '_'), name) @@ -299,8 +299,8 @@ def remove(name, handler, data=None): if name in _event_handler_map[event]: _event_handler_map[event].pop(name) - if data: - bbhands_mc = (data.getVar("__BBHANDLERS_MC") or []) + if data is not None: + bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set()) if name in bbhands_mc: bbhands_mc.remove(name) data.setVar("__BBHANDLERS_MC", bbhands_mc) |