qubesadmin.events package¶
Submodules¶
qubesadmin.events.utils module¶
Utilities for common events-based actions
Module contents¶
Event handling implementation, require Python >=3.5.2 for asyncio.
- class qubesadmin.events.EventsDispatcher(app, api_method='admin.Events', enable_cache=True)[source]¶
Bases:
object
Events dispatcher, responsible for receiving events and calling appropriate handlers
- add_handler(event, handler)[source]¶
Register handler for event
Use ‘*’ as event to register a handler for all events.
- Handler function is called with:
subject (VM object or None)
event name (str)
keyword arguments related to the event, if any - all values as str
:param event Event name, or ‘*’ for all events :param handler Handler function
- app¶
Qubes() object
- handlers¶
event handlers - dict of event -> handlers
- async listen_for_events(vm=None, reconnect=True)[source]¶
Listen for events and call appropriate handlers. This function do not exit until manually terminated.
This is coroutine.
- Parameters:
vm – Listen for events only for this VM, use None to listen for events about all VMs and not related to any particular VM.
reconnect – should reconnect to qubesd if connection is interrupted?
- Return type:
None