From 467b14fa2e29ecd6f41d4834b00593d8c86cddc5 Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Mon, 13 Jul 2015 11:48:47 -0400 Subject: [feature] add global flag for disabling the events framework this will be used to allow the unittests to disable the events framework. this way, emit() will become a passthrough. note that, until now, the basetest class is making use of the threaded version of the client, which launches a zmq tornado-based ioloop. this is wrong, and will have to be addressed in a future commit. we'll have to make use of the global EVENTS_ENABLED flag in the txclient version when those changes are made. Related: #7259 Relases: 0.4.2 --- src/leap/common/events/__init__.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/leap/common/events/__init__.py') diff --git a/src/leap/common/events/__init__.py b/src/leap/common/events/__init__.py index 9269b9a..87ed8ae 100644 --- a/src/leap/common/events/__init__.py +++ b/src/leap/common/events/__init__.py @@ -14,8 +14,6 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . - - """ This is an events mechanism that uses a server to allow for emitting events between clients. @@ -37,13 +35,13 @@ To emit an event, use leap.common.events.emit(): >>> from leap.common.events import catalog >>> emit(catalog.CLIENT_UID) """ - - import logging import argparse from leap.common.events import client from leap.common.events import server +from leap.common.events.flags import set_events_enabled + from leap.common.events import catalog @@ -52,6 +50,7 @@ __all__ = [ "unregister", "emit", "catalog", + "set_events_enabled" ] -- cgit v1.2.3 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/common/events/__init__.py') 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 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 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'src/leap/common/events/__init__.py') 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__": -- cgit v1.2.3