WarEraAPI 0.2.12__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.
Files changed (50) hide show
  1. {wareraapi-0.2.12/src/WarEraAPI.egg-info → wareraapi-0.2.14}/PKG-INFO +1 -1
  2. {wareraapi-0.2.12 → wareraapi-0.2.14}/pyproject.toml +1 -1
  3. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/client.py +6 -1
  4. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/errors.py +13 -1
  5. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/company.py +1 -1
  6. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/constants.py +4 -0
  7. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/user.py +2 -0
  8. {wareraapi-0.2.12 → wareraapi-0.2.14/src/WarEraAPI.egg-info}/PKG-INFO +1 -1
  9. {wareraapi-0.2.12 → wareraapi-0.2.14}/LICENSE +0 -0
  10. {wareraapi-0.2.12 → wareraapi-0.2.14}/README.md +0 -0
  11. {wareraapi-0.2.12 → wareraapi-0.2.14}/setup.cfg +0 -0
  12. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/__init__.py +0 -0
  13. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/__init__.py +0 -0
  14. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/article.py +0 -0
  15. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/battle.py +0 -0
  16. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/battle_data.py +0 -0
  17. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/battle_order.py +0 -0
  18. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/country.py +0 -0
  19. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/entity_upgrade.py +0 -0
  20. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/event.py +0 -0
  21. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/game_dates.py +0 -0
  22. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/government.py +0 -0
  23. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/item_offer.py +0 -0
  24. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/military_unit.py +0 -0
  25. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/party.py +0 -0
  26. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/production_bonus.py +0 -0
  27. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/rankings.py +0 -0
  28. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/recommended_region.py +0 -0
  29. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/region.py +0 -0
  30. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/round.py +0 -0
  31. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/search_result.py +0 -0
  32. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/trading_order.py +0 -0
  33. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/__init__.py +0 -0
  34. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/article_tip_tx.py +0 -0
  35. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/battle_loot_tx.py +0 -0
  36. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/craft_item_tx.py +0 -0
  37. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/dismantle_item_tx.py +0 -0
  38. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/donation_tx.py +0 -0
  39. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/item_market_tx.py +0 -0
  40. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/open_case_tx.py +0 -0
  41. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/trading_tx.py +0 -0
  42. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/transactions/wage_tx.py +0 -0
  43. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/user_equipments.py +0 -0
  44. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/work_offer.py +0 -0
  45. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/types/worker.py +0 -0
  46. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI/utils.py +0 -0
  47. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI.egg-info/SOURCES.txt +0 -0
  48. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI.egg-info/dependency_links.txt +0 -0
  49. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI.egg-info/requires.txt +0 -0
  50. {wareraapi-0.2.12 → wareraapi-0.2.14}/src/WarEraAPI.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: WarEraAPI
3
- Version: 0.2.12
3
+ Version: 0.2.14
4
4
  Summary: an api client for the online Multiplayer game WarEra written in python (unfinished)
5
5
  Author-email: SpicyPenguin <kerolisand@gmail.com>
6
6
  Requires-Python: >=3.10
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "WarEraAPI"
7
- version = "0.2.12"
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)
@@ -387,6 +387,10 @@ class UserRankings(TypedDict):
387
387
  damagesCount: int | None
388
388
 
389
389
 
390
+ class UserPreferences(TypedDict):
391
+
392
+ autoReplaceOnBreak: bool
393
+
390
394
  # Article Stuff
391
395
 
392
396
  class ArticleStats(TypedDict):
@@ -12,6 +12,7 @@ from WarEraAPI.types.constants import UserEquipment
12
12
  from WarEraAPI.types.constants import UserRankings
13
13
  from WarEraAPI.types.constants import UserBuffs
14
14
  from WarEraAPI.types.constants import UserMute
15
+ from WarEraAPI.types.constants import UserPreferences
15
16
 
16
17
 
17
18
  @dataclass
@@ -54,6 +55,7 @@ class User:
54
55
  avatar: str | None = field(default=None)
55
56
  phoneVerificationRequiredAt: datetime | None = field(default=None)
56
57
  isAdmin: bool | None = field(default=None)
58
+ preferences: UserPreferences | None = field(default=None)
57
59
  # TODO: add the type structure for thess args
58
60
  skillsExpiration: dict | None = field(default=None)
59
61
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: WarEraAPI
3
- Version: 0.2.12
3
+ Version: 0.2.14
4
4
  Summary: an api client for the online Multiplayer game WarEra written in python (unfinished)
5
5
  Author-email: SpicyPenguin <kerolisand@gmail.com>
6
6
  Requires-Python: >=3.10
File without changes
File without changes
File without changes