WarEraAPI 0.2.13__tar.gz → 0.2.14__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {wareraapi-0.2.13/src/WarEraAPI.egg-info → wareraapi-0.2.14}/PKG-INFO +1 -1
- {wareraapi-0.2.13 → wareraapi-0.2.14}/pyproject.toml +1 -1
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/client.py +6 -1
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/errors.py +13 -1
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/company.py +1 -1
- {wareraapi-0.2.13 → wareraapi-0.2.14/src/WarEraAPI.egg-info}/PKG-INFO +1 -1
- {wareraapi-0.2.13 → wareraapi-0.2.14}/LICENSE +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/README.md +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/setup.cfg +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/__init__.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/__init__.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/article.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/battle.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/battle_data.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/battle_order.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/constants.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/country.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/entity_upgrade.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/event.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/game_dates.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/government.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/item_offer.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/military_unit.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/party.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/production_bonus.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/rankings.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/recommended_region.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/region.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/round.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/search_result.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/trading_order.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/__init__.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/article_tip_tx.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/battle_loot_tx.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/craft_item_tx.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/dismantle_item_tx.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/donation_tx.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/item_market_tx.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/open_case_tx.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/trading_tx.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/wage_tx.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/user.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/user_equipments.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/work_offer.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/types/worker.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI/utils.py +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI.egg-info/SOURCES.txt +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI.egg-info/dependency_links.txt +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI.egg-info/requires.txt +0 -0
- {wareraapi-0.2.13 → wareraapi-0.2.14}/src/WarEraAPI.egg-info/top_level.txt +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "WarEraAPI"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.14"
|
|
8
8
|
description = "an api client for the online Multiplayer game WarEra written in python (unfinished)"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "SpicyPenguin", email = "kerolisand@gmail.com" }
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from aiohttp import ClientSession
|
|
1
|
+
from aiohttp import ClientSession, ContentTypeError
|
|
2
2
|
from typing import Literal, Any
|
|
3
3
|
|
|
4
4
|
from WarEraAPI.types import *
|
|
@@ -6,6 +6,7 @@ from WarEraAPI.utils import edit_types
|
|
|
6
6
|
from WarEraAPI.utils import pretty_json
|
|
7
7
|
from WarEraAPI.errors import APIError
|
|
8
8
|
from WarEraAPI.errors import TransactionTypeNotSupported
|
|
9
|
+
from WarEraAPI.errors import NoAvailableServer
|
|
9
10
|
|
|
10
11
|
import asyncio
|
|
11
12
|
|
|
@@ -146,6 +147,10 @@ class WarEraClient:
|
|
|
146
147
|
response = (await resp.json())["result"]["data"]
|
|
147
148
|
except KeyError:
|
|
148
149
|
raise APIError(pretty_json(await resp.json()))
|
|
150
|
+
except ContentTypeError:
|
|
151
|
+
if resp.status == 503:
|
|
152
|
+
raise NoAvailableServer
|
|
153
|
+
raise APIError(await resp.text())
|
|
149
154
|
self.sanitize_response(response)
|
|
150
155
|
return response
|
|
151
156
|
|
|
@@ -19,4 +19,16 @@ class TransactionTypeNotSupported(Exception):
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
def __str__(self):
|
|
22
|
-
return f"This TransactionType is not supported in current lib version ('{self.tx_type}')"
|
|
22
|
+
return f"This TransactionType is not supported in current lib version ('{self.tx_type}')"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class NoAvailableServer(Exception):
|
|
26
|
+
'''raised when there are no available game servers to process your request'''
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def __init__(self, *args):
|
|
30
|
+
super().__init__(*args)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def __str__(self):
|
|
34
|
+
return "NoAvailableServer"
|
|
@@ -22,8 +22,8 @@ class Company:
|
|
|
22
22
|
workerCount: int
|
|
23
23
|
createdAt: datetime
|
|
24
24
|
updatedAt: datetime
|
|
25
|
-
movedUpAt: datetime
|
|
26
25
|
# optional
|
|
26
|
+
movedUpAt: datetime | None = field(default=None)
|
|
27
27
|
estimatedValue: float | None = field(default=None)
|
|
28
28
|
workers: List[Worker] | None = field(default=None)
|
|
29
29
|
workOffer: str | None = field(default=None)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|