Sorted inheritance
This commit is contained in:
parent
8dcebdecd2
commit
70e78023eb
@ -5,7 +5,7 @@
|
|||||||
__author__ = """Eriks Karls"""
|
__author__ = """Eriks Karls"""
|
||||||
__email__ = 'eriks@72.lv'
|
__email__ = 'eriks@72.lv'
|
||||||
__version__ = '0.20.0'
|
__version__ = '0.20.0'
|
||||||
__commit_id__ = "77bcfb3"
|
__commit_id__ = "8dcebde"
|
||||||
|
|
||||||
from erepublik import classes, utils
|
from erepublik import classes, utils
|
||||||
from erepublik.citizen import Citizen
|
from erepublik.citizen import Citizen
|
||||||
|
@ -612,6 +612,24 @@ class BaseCitizen(CitizenAPI):
|
|||||||
return ""
|
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):
|
class CitizenTravel(BaseCitizen):
|
||||||
def _update_citizen_location(self, country_id: int, region_id: int):
|
def _update_citizen_location(self, country_id: int, region_id: int):
|
||||||
self.details.current_region = region_id
|
self.details.current_region = region_id
|
||||||
@ -824,23 +842,6 @@ class CitizenTasks(BaseCitizen):
|
|||||||
self.ot_points = ot.get("points", 0)
|
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'<a class="dotted" title="([^"]+)" href="/en/party/[\w\d-]+-(\d+)/1">', 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):
|
class CitizenEconomy(CitizenTravel):
|
||||||
food: Dict[str, int] = {"q1": 0, "q2": 0, "q3": 0, "q4": 0, "q5": 0, "q6": 0, "q7": 0, "total": 0}
|
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}
|
inventory: Dict[str, int] = {"used": 0, "total": 0}
|
||||||
@ -1982,22 +1983,21 @@ class CitizenMilitary(CitizenTravel, CitizenTasks):
|
|||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
class CitizenAnniversary(BaseCitizen):
|
class CitizenPolitics(BaseCitizen):
|
||||||
def collect_anniversary_reward(self) -> Response:
|
def get_country_parties(self, country_id: int = None) -> dict:
|
||||||
return self._post_main_collect_anniversary_reward()
|
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'<a class="dotted" title="([^"]+)" href="/en/party/[\w\d-]+-(\d+)/1">', r.text):
|
||||||
|
ret.update({int(id_): name})
|
||||||
|
return ret
|
||||||
|
|
||||||
def get_anniversary_quest_data(self):
|
def candidate_for_congress(self, presentation: str = "") -> Response:
|
||||||
return self._get_anniversary_quest_data().json()
|
return self._post_candidate_for_congress(presentation)
|
||||||
|
|
||||||
def start_unlocking_map_quest_node(self, node_id: int):
|
def candidate_for_party_presidency(self) -> Response:
|
||||||
return self._post_map_rewards_unlock(node_id)
|
return self._get_candidate_party(self.politics.party_slug)
|
||||||
|
|
||||||
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 CitizenSocial(BaseCitizen):
|
class CitizenSocial(BaseCitizen):
|
||||||
@ -2094,7 +2094,7 @@ class CitizenSocial(BaseCitizen):
|
|||||||
self.report_error(f"Unsupported notification kind: \"{kind}\"!")
|
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
|
debug: bool = False
|
||||||
|
|
||||||
def __init__(self, email: str = "", password: str = "", auto_login: bool = True):
|
def __init__(self, email: str = "", password: str = "", auto_login: bool = True):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user