Register a callback for a specific event type. Parameters ---------- event_type: One of :data:`ADDED`, :data:`MODIFIED`, :data:`DELETED`, :data:`BOOKMARK` or :data:`ERROR`. handler: Callable invoked with the event object (or the ra
(self, event_type, handler)
| 102 | return self._cache |
| 103 | |
| 104 | def add_event_handler(self, event_type, handler): |
| 105 | """Register a callback for a specific event type. |
| 106 | |
| 107 | Parameters |
| 108 | ---------- |
| 109 | event_type: |
| 110 | One of :data:`ADDED`, :data:`MODIFIED`, :data:`DELETED`, |
| 111 | :data:`BOOKMARK` or :data:`ERROR`. |
| 112 | handler: |
| 113 | Callable invoked with the event object (or the raw exception for |
| 114 | ERROR events). |
| 115 | """ |
| 116 | if event_type not in self._handlers: |
| 117 | raise ValueError( |
| 118 | "Unknown event_type {!r}. Use one of: {}".format( |
| 119 | event_type, ", ".join(sorted(self._handlers)), |
| 120 | ) |
| 121 | ) |
| 122 | with self._handler_lock: |
| 123 | self._handlers[event_type].append(handler) |
| 124 | |
| 125 | def remove_event_handler(self, event_type, handler): |
| 126 | """Deregister a previously registered *handler*. |