WarEraAPI 0.1.6__tar.gz → 0.2.7__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.1.6/src/WarEraAPI.egg-info → wareraapi-0.2.7}/PKG-INFO +1 -1
  2. {wareraapi-0.1.6 → wareraapi-0.2.7}/pyproject.toml +1 -1
  3. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/client.py +29 -2
  4. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/__init__.py +1 -0
  5. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/constants.py +21 -0
  6. wareraapi-0.2.7/src/WarEraAPI/types/party.py +30 -0
  7. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/user.py +6 -0
  8. {wareraapi-0.1.6 → wareraapi-0.2.7/src/WarEraAPI.egg-info}/PKG-INFO +1 -1
  9. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI.egg-info/SOURCES.txt +1 -0
  10. {wareraapi-0.1.6 → wareraapi-0.2.7}/LICENSE +0 -0
  11. {wareraapi-0.1.6 → wareraapi-0.2.7}/README.md +0 -0
  12. {wareraapi-0.1.6 → wareraapi-0.2.7}/setup.cfg +0 -0
  13. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/__init__.py +0 -0
  14. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/errors.py +0 -0
  15. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/article.py +0 -0
  16. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/battle.py +0 -0
  17. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/battle_data.py +0 -0
  18. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/battle_order.py +0 -0
  19. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/company.py +0 -0
  20. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/country.py +0 -0
  21. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/entity_upgrade.py +0 -0
  22. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/event.py +0 -0
  23. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/game_dates.py +0 -0
  24. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/government.py +0 -0
  25. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/item_offer.py +0 -0
  26. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/military_unit.py +0 -0
  27. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/production_bonus.py +0 -0
  28. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/rankings.py +0 -0
  29. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/recommended_region.py +0 -0
  30. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/region.py +0 -0
  31. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/round.py +0 -0
  32. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/search_result.py +0 -0
  33. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/trading_order.py +0 -0
  34. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/transactions/__init__.py +0 -0
  35. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/transactions/article_tip_tx.py +0 -0
  36. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/transactions/battle_loot_tx.py +0 -0
  37. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/transactions/craft_item_tx.py +0 -0
  38. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/transactions/dismantle_item_tx.py +0 -0
  39. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/transactions/donation_tx.py +0 -0
  40. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/transactions/item_market_tx.py +0 -0
  41. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/transactions/open_case_tx.py +0 -0
  42. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/transactions/trading_tx.py +0 -0
  43. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/transactions/wage_tx.py +0 -0
  44. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/user_equipments.py +0 -0
  45. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/work_offer.py +0 -0
  46. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/types/worker.py +0 -0
  47. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI/utils.py +0 -0
  48. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI.egg-info/dependency_links.txt +0 -0
  49. {wareraapi-0.1.6 → wareraapi-0.2.7}/src/WarEraAPI.egg-info/requires.txt +0 -0
  50. {wareraapi-0.1.6 → wareraapi-0.2.7}/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.1.6
3
+ Version: 0.2.7
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.1.6"
7
+ version = "0.2.7"
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" }
@@ -567,7 +567,7 @@ class WarEraClient:
567
567
  :type cursor: str | None
568
568
  :param return_users: wether to return User objects or just user Ids
569
569
  :type return_users: bool
570
- :return: a tuple with the first index holding a list of User objects (or str in case of return_users=False) and the second index holding the next cursor (optional)
570
+ :return: a tuple with the first index holding a list of User objects (or dict[str, str] in case of return_users=False) and the second index holding the next cursor (optional)
571
571
  :rtype: tuple[list[User] | dict[str, str], str | None]
572
572
  '''
573
573
 
@@ -1397,4 +1397,31 @@ class WarEraClient:
1397
1397
  }
1398
1398
  )
1399
1399
 
1400
- return result
1400
+ return result
1401
+
1402
+
1403
+ # party
1404
+
1405
+
1406
+ async def get_party(
1407
+ self,
1408
+ partyId: str
1409
+ ) -> Party:
1410
+ '''
1411
+ party.get_party
1412
+
1413
+ :param partyId: the party Id
1414
+ :type partyId: str
1415
+ :return: a Party object
1416
+ :rtype: Party
1417
+ '''
1418
+
1419
+ result = await self.request(
1420
+ method="POST",
1421
+ endpoint="party.getById",
1422
+ body={
1423
+ "partyId": partyId
1424
+ }
1425
+ )
1426
+
1427
+ return Party(**result)
@@ -20,6 +20,7 @@ from .production_bonus import ProductionBonus
20
20
  from .entity_upgrade import EntityUpgrade
21
21
  from .battle_order import BattleOrder
22
22
  from .user_equipments import UserEquipments
23
+ from .party import Party
23
24
  from .transactions import *
24
25
  from .constants import *
25
26
 
@@ -234,6 +234,16 @@ class LiveRoundStats(TypedDict):
234
234
 
235
235
  # User Stuff
236
236
 
237
+ class UserMute(TypedDict):
238
+
239
+ reason: str
240
+ mutedUntil: datetime
241
+
242
+ class UserBuffs(TypedDict):
243
+
244
+ buffCodes: list[str]
245
+ buffEndAt: datetime
246
+
237
247
  class UserLeveling(TypedDict):
238
248
 
239
249
  level: int
@@ -450,6 +460,17 @@ class ItemMarket(TypedDict):
450
460
  lastAcquisitionAt: datetime
451
461
  isEquipStatsMigrated: bool | None
452
462
 
463
+
464
+ # Party stuff
465
+
466
+ class PartyEthics(TypedDict):
467
+
468
+ militarism: int
469
+ isolationism: int
470
+ imperialism: int
471
+ inudstrialism: int
472
+
473
+
453
474
  # Minimal Stuff
454
475
 
455
476
  class MinimalRound(TypedDict):
@@ -0,0 +1,30 @@
1
+ from dataclasses import dataclass, field
2
+ from datetime import datetime
3
+
4
+
5
+ from WarEraAPI.types.constants import PartyEthics
6
+ from WarEraAPI.utils import edit_types
7
+
8
+
9
+ @dataclass
10
+ class Party:
11
+
12
+ _id: str
13
+ name: str
14
+ ethics: PartyEthics
15
+ country: str
16
+ region: str
17
+ leader: str
18
+ councilMembers: list[str]
19
+ members: list[str]
20
+ createdAt: datetime
21
+ updatedAt: datetime
22
+ description: str
23
+ avatarUrl: str | None = field(default=None)
24
+ treasurer: str | None = field(default=None)
25
+ primaryWinner: str | None = field(default=None)
26
+
27
+
28
+ def __post_init__(self):
29
+
30
+ edit_types(self)
@@ -10,6 +10,8 @@ from WarEraAPI.types.constants import UserSkills
10
10
  from WarEraAPI.types.constants import UserStats
11
11
  from WarEraAPI.types.constants import UserEquipment
12
12
  from WarEraAPI.types.constants import UserRankings
13
+ from WarEraAPI.types.constants import UserBuffs
14
+ from WarEraAPI.types.constants import UserMute
13
15
 
14
16
 
15
17
  @dataclass
@@ -45,6 +47,10 @@ class User:
45
47
  warning: dict[str, Any] | None = field(default=None)
46
48
  discord: dict[str, Any] | None = field(default=None)
47
49
  equippedSkinKeys: dict[str, str] | None = field(default=None)
50
+ animatedAvatarUrl: str | None = field(default=None)
51
+ buffs: UserBuffs | None = field(default=None)
52
+ mute: UserMute | None = field(default=None)
53
+ isLocked: bool | None = field(default=None)
48
54
 
49
55
 
50
56
  def __post_init__(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: WarEraAPI
3
- Version: 0.1.6
3
+ Version: 0.2.7
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
@@ -24,6 +24,7 @@ src/WarEraAPI/types/game_dates.py
24
24
  src/WarEraAPI/types/government.py
25
25
  src/WarEraAPI/types/item_offer.py
26
26
  src/WarEraAPI/types/military_unit.py
27
+ src/WarEraAPI/types/party.py
27
28
  src/WarEraAPI/types/production_bonus.py
28
29
  src/WarEraAPI/types/rankings.py
29
30
  src/WarEraAPI/types/recommended_region.py
File without changes
File without changes
File without changes