diff --git a/examples/deribit/check_is_connected.py b/examples/deribit/check_is_connected.py new file mode 100644 index 0000000..57dc4be --- /dev/null +++ b/examples/deribit/check_is_connected.py @@ -0,0 +1,26 @@ +import asyncio +import json +from ssc2ce import Deribit + +conn = Deribit() + +print("Is connected after init", conn.is_connected()) + + +def close(): + print("Check connection before closing", conn.is_connected()) + asyncio.ensure_future(conn.stop()) + + +loop = asyncio.get_event_loop() + + +loop.call_later(1, close) + +try: + loop.run_until_complete(conn.run_receiver()) +except KeyboardInterrupt: + print("Application closed by KeyboardInterrupt.") + + +print("Is connected before exit", conn.is_connected()) diff --git a/examples/deribit/deribit_private.py b/examples/deribit/deribit_private.py index 4f35e82..18186ba 100644 --- a/examples/deribit/deribit_private.py +++ b/examples/deribit/deribit_private.py @@ -98,7 +98,7 @@ async def do_something_after_login(self): async def printer(self, **kwargs): self.logger.info(f"{repr(kwargs)}") - @ staticmethod + @staticmethod def resolve_route(value, routes): key, handler = None, None for key, handler in routes: diff --git a/setup.py b/setup.py index 7cf36ee..e0d24a8 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setuptools.setup( name='ssc2ce', - version="0.14.0", + version="0.14.1", author='Oleg Nedbaylo', author_email='olned64@gmail.com', description='A Set of Simple Connectors for access To Cryptocurrency Exchanges', diff --git a/ssc2ce/common/session.py b/ssc2ce/common/session.py index 3105a18..4dbe68a 100644 --- a/ssc2ce/common/session.py +++ b/ssc2ce/common/session.py @@ -181,3 +181,9 @@ async def public_get(self, request_path, params=None): async def stop(self): await self.ws.close() await self._session.close() + + def is_connected(self) -> bool: + if self.ws is None: + return False + + return not self.ws.closed diff --git a/ssc2ce/deribit/deribit.py b/ssc2ce/deribit/deribit.py index ce6b8ba..1d30f98 100644 --- a/ssc2ce/deribit/deribit.py +++ b/ssc2ce/deribit/deribit.py @@ -92,12 +92,6 @@ def __init__(self, def close(self): super()._close() - async def stop(self): - """ - Close connection and break the receiver loop - :return: - """ - await self.ws.close() async def send_public(self, request: dict, callback=None, logging_it: bool = True) -> int: """