Compare commits

...

3 Commits
0.49 ... 0.50

Author SHA1 Message Date
Romuald Juchnowicz-Bierbasz
392e4c5f68 Print error data in import notifications 2019-09-19 14:47:50 +02:00
Romuald Juchnowicz-Bierbasz
4d6d3b8eb2 Increment version 2019-09-18 12:16:34 +02:00
Romuald Juchnowicz-Bierbasz
d5610221a9 Do not wait for external tasks in run 2019-09-18 12:15:18 +02:00
9 changed files with 28 additions and 30 deletions

View File

@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup(
name="galaxy.plugin.api",
version="0.49",
version="0.50",
description="GOG Galaxy Integrations Python API",
author='Galaxy team',
author_email='galaxy@gog.com',

View File

@@ -18,6 +18,17 @@ class JsonRpcError(Exception):
def __eq__(self, other):
return self.code == other.code and self.message == other.message and self.data == other.data
def json(self):
obj = {
"code": self.code,
"message": self.message
}
if self.data is not None:
obj["error"]["data"] = self.data
return obj
class ParseError(JsonRpcError):
def __init__(self):
super().__init__(-32700, "Parse error")
@@ -232,15 +243,9 @@ class Server():
response = {
"jsonrpc": "2.0",
"id": request_id,
"error": {
"code": error.code,
"message": error.message
}
"error": error.json()
}
if error.data is not None:
response["error"]["data"] = error.data
self._send(response)
@staticmethod

View File

@@ -174,7 +174,6 @@ class Plugin:
async def run(self):
"""Plugin's main coroutine."""
await self._server.run()
await self._external_task_manager.wait()
def close(self) -> None:
if not self._active:
@@ -332,10 +331,7 @@ class Plugin:
def _game_achievements_import_failure(self, game_id: str, error: ApplicationError) -> None:
params = {
"game_id": game_id,
"error": {
"code": error.code,
"message": error.message
}
"error": error.json()
}
self._notification_client.notify("game_achievements_import_failure", params)
@@ -399,10 +395,7 @@ class Plugin:
def _game_time_import_failure(self, game_id: str, error: ApplicationError) -> None:
params = {
"game_id": game_id,
"error": {
"code": error.code,
"message": error.message
}
"error": error.json()
}
self._notification_client.notify("game_time_import_failure", params)

View File

@@ -135,7 +135,7 @@ async def test_prepare_get_unlocked_achievements_context_error(plugin, read, wri
"game_ids": ["14"]
}
}
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"")]
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"", 10)]
await plugin.run()
@@ -176,7 +176,7 @@ async def test_import_in_progress(plugin, read, write):
read.side_effect = [
async_return_value(create_message(requests[0])),
async_return_value(create_message(requests[1])),
async_return_value(b"")
async_return_value(b"", 10)
]
await plugin.run()

View File

@@ -17,7 +17,7 @@ async def test_success(plugin, read, write):
"id": "3",
"method": "init_authentication"
}
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"")]
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"", 10)]
plugin.authenticate.return_value = async_return_value(Authentication("132", "Zenek"))
await plugin.run()
plugin.authenticate.assert_called_with()
@@ -55,7 +55,7 @@ async def test_failure(plugin, read, write, error, code, message):
"method": "init_authentication"
}
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"")]
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"", 10)]
plugin.authenticate.side_effect = error()
await plugin.run()
plugin.authenticate.assert_called_with()
@@ -84,7 +84,7 @@ async def test_stored_credentials(plugin, read, write):
}
}
}
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"")]
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"", 10)]
plugin.authenticate.return_value = async_return_value(Authentication("132", "Zenek"))
await plugin.run()
plugin.authenticate.assert_called_with(stored_credentials={"token": "ABC"})

View File

@@ -15,7 +15,7 @@ async def test_get_friends_success(plugin, read, write):
"method": "import_friends"
}
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"")]
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"", 10)]
plugin.get_friends.return_value = async_return_value([
FriendInfo("3", "Jan"),
FriendInfo("5", "Ola")
@@ -45,7 +45,7 @@ async def test_get_friends_failure(plugin, read, write):
"method": "import_friends"
}
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"")]
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"", 10)]
plugin.get_friends.side_effect = UnknownError()
await plugin.run()
plugin.get_friends.assert_called_with()

View File

@@ -135,7 +135,7 @@ async def test_prepare_get_game_time_context_error(plugin, read, write):
"game_ids": ["6"]
}
}
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"")]
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"", 10)]
await plugin.run()
assert get_messages(write) == [
@@ -174,7 +174,7 @@ async def test_import_in_progress(plugin, read, write):
read.side_effect = [
async_return_value(create_message(requests[0])),
async_return_value(create_message(requests[1])),
async_return_value(b"")
async_return_value(b"", 10)
]
await plugin.run()

View File

@@ -15,7 +15,7 @@ async def test_success(plugin, read, write):
"id": "3",
"method": "import_local_games"
}
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"")]
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"", 10)]
plugin.get_local_games.return_value = async_return_value([
LocalGame("1", LocalGameState.Running),
@@ -63,7 +63,7 @@ async def test_failure(plugin, read, write, error, code, message):
"id": "3",
"method": "import_local_games"
}
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"")]
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"", 10)]
plugin.get_local_games.side_effect = error()
await plugin.run()
plugin.get_local_games.assert_called_with()

View File

@@ -15,7 +15,7 @@ async def test_success(plugin, read, write):
"id": "3",
"method": "import_owned_games"
}
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"")]
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"", 10)]
plugin.get_owned_games.return_value = async_return_value([
Game("3", "Doom", None, LicenseInfo(LicenseType.SinglePurchase, None)),
@@ -80,7 +80,7 @@ async def test_failure(plugin, read, write):
"method": "import_owned_games"
}
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"")]
read.side_effect = [async_return_value(create_message(request)), async_return_value(b"", 10)]
plugin.get_owned_games.side_effect = UnknownError()
await plugin.run()
plugin.get_owned_games.assert_called_with()