From 9d0900de85d07ec5b7926708c51136810b337158 Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Mon, 14 Sep 2015 23:06:29 -0400 Subject: [feat] expose async events in api to make simpler the import of the tx client - Related: #7274 --- src/leap/common/events/__init__.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/leap') diff --git a/src/leap/common/events/__init__.py b/src/leap/common/events/__init__.py index 87ed8ae..18d0ac8 100644 --- a/src/leap/common/events/__init__.py +++ b/src/leap/common/events/__init__.py @@ -39,6 +39,7 @@ import logging import argparse from leap.common.events import client +from leap.common.events import txclient from leap.common.events import server from leap.common.events.flags import set_events_enabled @@ -80,6 +81,10 @@ def register(event, callback, uid=None, replace=False): return client.register(event, callback, uid, replace) +def register_async(event, callback, uid=None, replace=False): + return txclient.register(event, callback, uid, replace) + + def unregister(event, uid=None): """ Unregister callbacks for an event. @@ -95,6 +100,10 @@ def unregister(event, uid=None): return client.unregister(event, uid) +def unregister_async(event, uid=None): + return txclient.unregister(event, uid) + + def emit(event, *content): """ Send an event. @@ -107,6 +116,10 @@ def emit(event, *content): return client.emit(event, *content) +def emit_async(event, *content): + return txclient.emit(event, *content) + + if __name__ == "__main__": def _echo(event, *content): -- cgit v1.2.3 From d4e4d3dc8ff88d98477e1fcd1104d7cd8b9e6612 Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Wed, 16 Sep 2015 11:21:01 +0200 Subject: [tests] Make txclient honor flags.EVENTS_ENABLED - Breaks tests in dependent repos like soledad otherwise, because server.key could not be found --- src/leap/common/events/txclient.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/leap') diff --git a/src/leap/common/events/txclient.py b/src/leap/common/events/txclient.py index dfd0533..be4b3ef 100644 --- a/src/leap/common/events/txclient.py +++ b/src/leap/common/events/txclient.py @@ -35,7 +35,7 @@ from leap.common.events.client import EventsClient from leap.common.events.client import configure_client from leap.common.events.server import EMIT_ADDR from leap.common.events.server import REG_ADDR -from leap.common.events import catalog +from leap.common.events import catalog, flags logger = logging.getLogger(__name__) @@ -146,8 +146,9 @@ def register(event, callback, uid=None, replace=False): :raises CallbackAlreadyRegisteredError: when there's already a callback identified by the given uid and replace is False. """ - return EventsTxClient.instance().register( - event, callback, uid=uid, replace=replace) + if flags.EVENTS_ENABLED: + return EventsTxClient.instance().register( + event, callback, uid=uid, replace=replace) def unregister(event, uid=None): @@ -162,7 +163,8 @@ def unregister(event, uid=None): :param uid: The callback uid. :type uid: str """ - return EventsTxClient.instance().unregister(event, uid=uid) + if flags.EVENTS_ENABLED: + return EventsTxClient.instance().unregister(event, uid=uid) def emit(event, *content): @@ -174,7 +176,8 @@ def emit(event, *content): :param content: The content of the event. :type content: list """ - return EventsTxClient.instance().emit(event, *content) + if flags.EVENTS_ENABLED: + return EventsTxClient.instance().emit(event, *content) def shutdown(): -- cgit v1.2.3 From 967763e8d0cc5f70f0760994d87500e30ad724a7 Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Wed, 16 Sep 2015 12:20:22 -0400 Subject: [refactor] move checking flag to main module --- src/leap/common/events/__init__.py | 19 +++++++++++++------ src/leap/common/events/client.py | 13 +++++-------- src/leap/common/events/txclient.py | 11 ++++------- 3 files changed, 22 insertions(+), 21 deletions(-) (limited to 'src/leap') diff --git a/src/leap/common/events/__init__.py b/src/leap/common/events/__init__.py index 18d0ac8..f9ad5fa 100644 --- a/src/leap/common/events/__init__.py +++ b/src/leap/common/events/__init__.py @@ -41,6 +41,7 @@ import argparse from leap.common.events import client from leap.common.events import txclient from leap.common.events import server +from leap.common.events import flags from leap.common.events.flags import set_events_enabled from leap.common.events import catalog @@ -78,11 +79,13 @@ def register(event, callback, uid=None, replace=False): :raises CallbackAlreadyRegistered: when there's already a callback identified by the given uid and replace is False. """ - return client.register(event, callback, uid, replace) + if flags.EVENTS_ENABLED: + return client.register(event, callback, uid, replace) def register_async(event, callback, uid=None, replace=False): - return txclient.register(event, callback, uid, replace) + if flags.EVENTS_ENABLED: + return txclient.register(event, callback, uid, replace) def unregister(event, uid=None): @@ -97,11 +100,13 @@ def unregister(event, uid=None): :param uid: The callback uid. :type uid: str """ - return client.unregister(event, uid) + if flags.EVENTS_ENABLED: + return client.unregister(event, uid) def unregister_async(event, uid=None): - return txclient.unregister(event, uid) + if flags.EVENTS_ENABLED: + return txclient.unregister(event, uid) def emit(event, *content): @@ -113,11 +118,13 @@ def emit(event, *content): :param content: The content of the event. :type content: list """ - return client.emit(event, *content) + if flags.EVENTS_ENABLED: + return client.emit(event, *content) def emit_async(event, *content): - return txclient.emit(event, *content) + if flags.EVENTS_ENABLED: + return txclient.emit(event, *content) if __name__ == "__main__": diff --git a/src/leap/common/events/client.py b/src/leap/common/events/client.py index e085f5b..e38e9d3 100644 --- a/src/leap/common/events/client.py +++ b/src/leap/common/events/client.py @@ -465,7 +465,7 @@ class EventsClientThread(threading.Thread, EventsClient): Make sure the events client thread is started. """ with self._lock: - if flags.EVENTS_ENABLED and not self.is_alive(): + if not self.is_alive(): self.daemon = True self.start() self._initialized.wait() @@ -508,9 +508,8 @@ def register(event, callback, uid=None, replace=False): :raises CallbackAlreadyRegisteredError: when there's already a callback identified by the given uid and replace is False. """ - if flags.EVENTS_ENABLED: - return EventsClientThread.instance().register( - event, callback, uid=uid, replace=replace) + return EventsClientThread.instance().register( + event, callback, uid=uid, replace=replace) def unregister(event, uid=None): @@ -525,8 +524,7 @@ def unregister(event, uid=None): :param uid: The callback uid. :type uid: str """ - if flags.EVENTS_ENABLED: - return EventsClientThread.instance().unregister(event, uid=uid) + return EventsClientThread.instance().unregister(event, uid=uid) def emit(event, *content): @@ -538,8 +536,7 @@ def emit(event, *content): :param content: The content of the event. :type content: list """ - if flags.EVENTS_ENABLED: - return EventsClientThread.instance().emit(event, *content) + return EventsClientThread.instance().emit(event, *content) def instance(): diff --git a/src/leap/common/events/txclient.py b/src/leap/common/events/txclient.py index be4b3ef..f3c183e 100644 --- a/src/leap/common/events/txclient.py +++ b/src/leap/common/events/txclient.py @@ -146,9 +146,8 @@ def register(event, callback, uid=None, replace=False): :raises CallbackAlreadyRegisteredError: when there's already a callback identified by the given uid and replace is False. """ - if flags.EVENTS_ENABLED: - return EventsTxClient.instance().register( - event, callback, uid=uid, replace=replace) + return EventsTxClient.instance().register( + event, callback, uid=uid, replace=replace) def unregister(event, uid=None): @@ -163,8 +162,7 @@ def unregister(event, uid=None): :param uid: The callback uid. :type uid: str """ - if flags.EVENTS_ENABLED: - return EventsTxClient.instance().unregister(event, uid=uid) + return EventsTxClient.instance().unregister(event, uid=uid) def emit(event, *content): @@ -176,8 +174,7 @@ def emit(event, *content): :param content: The content of the event. :type content: list """ - if flags.EVENTS_ENABLED: - return EventsTxClient.instance().emit(event, *content) + return EventsTxClient.instance().emit(event, *content) def shutdown(): -- cgit v1.2.3