diff --git a/erepublik/__init__.py b/erepublik/__init__.py
index 06215ce..5c074cf 100644
--- a/erepublik/__init__.py
+++ b/erepublik/__init__.py
@@ -5,7 +5,7 @@
__author__ = """Eriks Karls"""
__email__ = 'eriks@72.lv'
__version__ = '0.20.0'
-__commit_id__ = "77bcfb3"
+__commit_id__ = "8dcebde"
from erepublik import classes, utils
from erepublik.citizen import Citizen
diff --git a/erepublik/citizen.py b/erepublik/citizen.py
index 2625480..3694f6a 100644
--- a/erepublik/citizen.py
+++ b/erepublik/citizen.py
@@ -612,6 +612,24 @@ class BaseCitizen(CitizenAPI):
return ""
+class CitizenAnniversary(BaseCitizen):
+ def collect_anniversary_reward(self) -> Response:
+ return self._post_main_collect_anniversary_reward()
+
+ def get_anniversary_quest_data(self):
+ return self._get_anniversary_quest_data().json()
+
+ def start_unlocking_map_quest_node(self, node_id: int):
+ return self._post_map_rewards_unlock(node_id)
+
+ def collect_map_quest_node(self, node_id: int):
+ return self._post_map_rewards_claim(node_id)
+
+ def speedup_map_quest_node(self, node_id: int):
+ node = self.get_anniversary_quest_data().get('cities', {}).get(str(node_id), {})
+ return self._post_map_rewards_speedup(node_id, node.get("skipCost", 0))
+
+
class CitizenTravel(BaseCitizen):
def _update_citizen_location(self, country_id: int, region_id: int):
self.details.current_region = region_id
@@ -824,23 +842,6 @@ class CitizenTasks(BaseCitizen):
self.ot_points = ot.get("points", 0)
-class CitizenPolitics(BaseCitizen):
- def get_country_parties(self, country_id: int = None) -> dict:
- if country_id is None:
- country_id = self.details.citizenship
- r = self._get_main_rankings_parties(country_id)
- ret = {}
- for name, id_ in re.findall(r'', r.text):
- ret.update({int(id_): name})
- return ret
-
- def candidate_for_congress(self, presentation: str = "") -> Response:
- return self._post_candidate_for_congress(presentation)
-
- def candidate_for_party_presidency(self) -> Response:
- return self._get_candidate_party(self.politics.party_slug)
-
-
class CitizenEconomy(CitizenTravel):
food: Dict[str, int] = {"q1": 0, "q2": 0, "q3": 0, "q4": 0, "q5": 0, "q6": 0, "q7": 0, "total": 0}
inventory: Dict[str, int] = {"used": 0, "total": 0}
@@ -1982,22 +1983,21 @@ class CitizenMilitary(CitizenTravel, CitizenTasks):
return ret
-class CitizenAnniversary(BaseCitizen):
- def collect_anniversary_reward(self) -> Response:
- return self._post_main_collect_anniversary_reward()
+class CitizenPolitics(BaseCitizen):
+ def get_country_parties(self, country_id: int = None) -> dict:
+ if country_id is None:
+ country_id = self.details.citizenship
+ r = self._get_main_rankings_parties(country_id)
+ ret = {}
+ for name, id_ in re.findall(r'', r.text):
+ ret.update({int(id_): name})
+ return ret
- def get_anniversary_quest_data(self):
- return self._get_anniversary_quest_data().json()
+ def candidate_for_congress(self, presentation: str = "") -> Response:
+ return self._post_candidate_for_congress(presentation)
- def start_unlocking_map_quest_node(self, node_id: int):
- return self._post_map_rewards_unlock(node_id)
-
- def collect_map_quest_node(self, node_id: int):
- return self._post_map_rewards_claim(node_id)
-
- def speedup_map_quest_node(self, node_id: int):
- node = self.get_anniversary_quest_data().get('cities', {}).get(str(node_id), {})
- return self._post_map_rewards_speedup(node_id, node.get("skipCost", 0))
+ def candidate_for_party_presidency(self) -> Response:
+ return self._get_candidate_party(self.politics.party_slug)
class CitizenSocial(BaseCitizen):
@@ -2094,7 +2094,7 @@ class CitizenSocial(BaseCitizen):
self.report_error(f"Unsupported notification kind: \"{kind}\"!")
-class Citizen(CitizenMilitary, CitizenAnniversary, CitizenEconomy, CitizenSocial, CitizenPolitics):
+class Citizen(CitizenAnniversary, CitizenEconomy, CitizenMedia, CitizenMilitary, CitizenPolitics, CitizenSocial):
debug: bool = False
def __init__(self, email: str = "", password: str = "", auto_login: bool = True):