mirror of
https://github.com/gogcom/galaxy-integrations-python-api.git
synced 2025-12-31 19:08:16 -05:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c874bc1d6e | ||
|
|
2dc56571d6 | ||
|
|
eb216a50a8 |
2
setup.py
2
setup.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
||||
|
||||
setup(
|
||||
name="galaxy.plugin.api",
|
||||
version="0.53",
|
||||
version="0.54",
|
||||
description="GOG Galaxy Integrations Python API",
|
||||
author='Galaxy team',
|
||||
author_email='galaxy@gog.com',
|
||||
|
||||
@@ -129,8 +129,9 @@ class Server():
|
||||
await asyncio.sleep(0) # To not starve task queue
|
||||
|
||||
def close(self):
|
||||
logging.info("Closing JSON-RPC server - not more messages will be read")
|
||||
self._active = False
|
||||
if self._active:
|
||||
logging.info("Closing JSON-RPC server - not more messages will be read")
|
||||
self._active = False
|
||||
|
||||
async def wait_closed(self):
|
||||
await self._task_manager.wait()
|
||||
@@ -281,6 +282,7 @@ class NotificationClient():
|
||||
self._send(notification)
|
||||
|
||||
async def close(self):
|
||||
self._task_manager.cancel()
|
||||
await self._task_manager.wait()
|
||||
|
||||
def _send(self, data):
|
||||
|
||||
@@ -184,6 +184,7 @@ class Plugin:
|
||||
async def run(self):
|
||||
"""Plugin's main coroutine."""
|
||||
await self._server.run()
|
||||
logging.debug("Plugin run loop finished")
|
||||
|
||||
def close(self) -> None:
|
||||
if not self._active:
|
||||
@@ -196,10 +197,12 @@ class Plugin:
|
||||
self._active = False
|
||||
|
||||
async def wait_closed(self) -> None:
|
||||
logging.debug("Waiting for plugin to close")
|
||||
await self._external_task_manager.wait()
|
||||
await self._internal_task_manager.wait()
|
||||
await self._server.wait_closed()
|
||||
await self._notification_client.close()
|
||||
logging.debug("Plugin closed")
|
||||
|
||||
def create_task(self, coro, description):
|
||||
"""Wrapper around asyncio.create_task - takes care of canceling tasks on shutdown"""
|
||||
|
||||
@@ -78,7 +78,8 @@ def create_tcp_connector(*args, **kwargs) -> aiohttp.TCPConnector:
|
||||
ssl_context.load_verify_locations(certifi.where())
|
||||
kwargs.setdefault("ssl", ssl_context)
|
||||
kwargs.setdefault("limit", DEFAULT_LIMIT)
|
||||
return aiohttp.TCPConnector(*args, **kwargs) # type: ignore due to https://github.com/python/mypy/issues/4001
|
||||
# due to https://github.com/python/mypy/issues/4001
|
||||
return aiohttp.TCPConnector(*args, **kwargs) # type: ignore
|
||||
|
||||
|
||||
def create_client_session(*args, **kwargs) -> aiohttp.ClientSession:
|
||||
@@ -103,7 +104,8 @@ def create_client_session(*args, **kwargs) -> aiohttp.ClientSession:
|
||||
kwargs.setdefault("connector", create_tcp_connector())
|
||||
kwargs.setdefault("timeout", aiohttp.ClientTimeout(total=DEFAULT_TIMEOUT))
|
||||
kwargs.setdefault("raise_for_status", True)
|
||||
return aiohttp.ClientSession(*args, **kwargs) # type: ignore due to https://github.com/python/mypy/issues/4001
|
||||
# due to https://github.com/python/mypy/issues/4001
|
||||
return aiohttp.ClientSession(*args, **kwargs) # type: ignore
|
||||
|
||||
|
||||
@contextmanager
|
||||
|
||||
Reference in New Issue
Block a user