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):