From 145218304679a552a3d34c9b5d0cb7334c6a9586 Mon Sep 17 00:00:00 2001 From: tierno Date: Wed, 24 Oct 2018 10:53:37 +0200 Subject: [PATCH] Added pycrypto dependency. Adding callback to msglocal aioread method Change-Id: Ib651d2b1d9cfcb95914892bcac2aca55dd55c367 Signed-off-by: tierno --- debian/python3-osm-common.postinst | 1 + osm_common/msglocal.py | 9 +++++++-- setup.py | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/debian/python3-osm-common.postinst b/debian/python3-osm-common.postinst index a877e58..658ef23 100755 --- a/debian/python3-osm-common.postinst +++ b/debian/python3-osm-common.postinst @@ -24,6 +24,7 @@ pip3 install pip==9.0.3 pip3 install --upgrade aiokafka==0.4.* pip3 install --upgrade pymongo==3.7.* pip3 install --upgrade pyyaml==3.* +# pip3 install pycrypto added as dependency: python3-crypto #Creation of log folder mkdir -p /var/log/osm diff --git a/osm_common/msglocal.py b/osm_common/msglocal.py index 247de7b..b0abb89 100644 --- a/osm_common/msglocal.py +++ b/osm_common/msglocal.py @@ -116,7 +116,7 @@ class MsgLocal(MsgBase): except Exception as e: # TODO refine raise MsgException(str(e), HTTPStatus.INTERNAL_SERVER_ERROR) - async def aioread(self, topic, loop): + async def aioread(self, topic, loop=None, callback=None, aiocallback=None, **kwargs): """ Asyncio read from one or several topics. It blocks :param topic: can be str: single topic; or str list: several topics @@ -127,7 +127,12 @@ class MsgLocal(MsgBase): while True: msg = self.read(topic, blocks=False) if msg: - return msg + if callback: + callback(*msg, **kwargs) + elif aiocallback: + await aiocallback(*msg, **kwargs) + else: + return msg await asyncio.sleep(2, loop=loop) except MsgException: raise diff --git a/setup.py b/setup.py index 22525b4..25e36fd 100644 --- a/setup.py +++ b/setup.py @@ -48,5 +48,6 @@ setup( 'pymongo', 'aiokafka', 'PyYAML', + 'pycrypto', ], ) -- 2.17.1