EventSource¶
-
class
tfsnippet.utils.
EventSource
(allowed_event_keys=None)¶ Bases:
object
An object that may trigger events.
This class is designed to either be the parent of another class, or be a member of another object. For example:
def event_handler(**kwargs): print('event triggered: args {}, kwargs {}'.format(args, kwargs)) # use alone class SomeObject(EventSource): def func(self, **kwargs): self.fire('some_event', **kwargs) obj = SomeObject() obj.on('some_event', event_handler) # use as a member class SomeObject(object): def __init__(self): self.events = EventSource() def func(self, **kwargs): self.events.fire('some_event', **kwargs) obj = SomeObject() obj.events.on('some_event', event_handler)
Methods Summary
clear_event_handlers
([event_key])Clear all event handlers. fire
(event_key, *args, **kwargs)Fire an event. off
(event_key, handler)De-register an event handler. on
(event_key, handler)Register a new event handler. reverse_fire
(event_key, *args, **kwargs)Fire an event, call event handlers in reversed order of registration. Methods Documentation
-
clear_event_handlers
(event_key=None)¶ Clear all event handlers.
Parameters: event_key (str or None) – If specified, clear all event handlers of this name. Otherwise clear all event handlers.
-
fire
(event_key, *args, **kwargs)¶ Fire an event.
Parameters: - event_key (str) – The event key.
- *args – Arguments to be passed to the event handler.
- **kwargs – Named arguments to be passed to the event handler.
Raises: KeyError
– If event_key is not allowed.
-
off
(event_key, handler)¶ De-register an event handler.
Parameters: Raises: ValueError
– If handler is not a registered event handler of the specified event event_key.
-
on
(event_key, handler)¶ Register a new event handler.
Parameters: Raises: KeyError
– If event_key is not allowed.
-
reverse_fire
(event_key, *args, **kwargs)¶ Fire an event, call event handlers in reversed order of registration.
Parameters: - event_key (str) – The event key.
- *args – Arguments to be passed to the event handler.
- **kwargs – Named arguments to be passed to the event handler.
Raises: KeyError
– If event_key is not allowed.
-