From 7d83c4b2ffa2f5a7253508bbb5c9fe6f169cec03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B2=E8=8F=AF?= <42814579+yunwah@users.noreply.github.com> Date: Wed, 5 May 2021 01:12:28 -0400 Subject: [PATCH] adds the "state" value to the returned open world json payloads This option adds the "state" value which is meant to make the json payloads easier to understand for open worlds. Currently vallisCycle does not have a value that provides a string based value of its current state where as cetusCycle and cambionCycle do. One of the other issues is that there is no consistency between cetusCycle and cambionCycle for their string based representation of the worlds open state. cetusCycle uses 'state' where as cambionCycle uses 'active'. In their own respective in-game terms this isn't necessarily wrong. --- setup.py | 1 + warpy/exceptions.py | 8 ++++---- warpy/warpy.py | 8 ++++++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py index 088a53d..953c759 100644 --- a/setup.py +++ b/setup.py @@ -10,6 +10,7 @@ def read(rel_path): with codecs.open(os.path.join(here, rel_path), 'r') as fp: return fp.read() + def get_version(rel_path): for line in read(rel_path).splitlines(): if line.startswith('__version__'): diff --git a/warpy/exceptions.py b/warpy/exceptions.py index f1e0cb0..e1924d2 100644 --- a/warpy/exceptions.py +++ b/warpy/exceptions.py @@ -1,12 +1,12 @@ class NonPlatformError(Exception): def __init__(self, platform): self.platform = platform - self.message = str(platform) + ' is not a valid platform. The following platforms are supported: ' \ - '\'pc\', \'ps4\', \'xb1\', \'swi\'.' + self.message = f'{platform} is not a valid platform. The following platforms are supported: ' \ + '\'pc\', \'ps4\', \'xb1\', \'swi\'.' class NonLanguageError(Exception): def __init__(self, language): self.language = language - self.message = str(language) + ' is not a valid language. The following languages are supported: ' \ - '\'de\', \'es\', \'fr\', \'it\', \'ko\', \'pl\', \'pt\', \'ru\', \'zh\', \'en\'.' + self.message = f'{language} is not a valid language. The following languages are supported: '\ + '\'de\', \'es\', \'fr\', \'it\', \'ko\', \'pl\', \'pt\', \'ru\', \'zh\', \'en\'.' diff --git a/warpy/warpy.py b/warpy/warpy.py index cdd3c32..3fc41b1 100644 --- a/warpy/warpy.py +++ b/warpy/warpy.py @@ -44,7 +44,9 @@ class Worldstate: async def cambion_status(self): url = WARFRAME_API + '/{platform}/cambionCycle'.format(platform=self.platform) - return await self._fetch(url) + json = await self._fetch(url) + json["state"] = json["active"] + return json async def cetus_status(self): url = WARFRAME_API + '/{platform}/cetusCycle'.format(platform=self.platform) @@ -131,7 +133,9 @@ class Worldstate: async def vallis_status(self): url = WARFRAME_API + '/{platform}/vallisCycle'.format(platform=self.platform) - return await self._fetch(url) + json = await self._fetch(url) + json['state'] = "warm" if json["isWarm"] else "cold" + return json async def void_trader(self): url = WARFRAME_API + '/{platform}/voidTrader'.format(platform=self.platform)