diff --git a/erepublik/__init__.py b/erepublik/__init__.py index bf5eeee..25b2cce 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__ = "d6a0d5a" +__commit_id__ = "e0c0967" from erepublik import classes, utils from erepublik.citizen import Citizen diff --git a/erepublik/citizen.py b/erepublik/citizen.py index 90d2993..628edd6 100644 --- a/erepublik/citizen.py +++ b/erepublik/citizen.py @@ -1888,6 +1888,19 @@ class CitizenMilitary(CitizenTravel): ret.update({user["citizenId"]: user["name"]}) return ret + def get_citizen_weekly_daily_orders_done(self, citizen_id: int = None, weeks_ago: int = 0) -> int: + if citizen_id is None: + citizen_id = self.details.citizen_id + profile = self._get_main_citizen_profile_json(citizen_id).json() + mu_id = profile.get('military', {}).get('militaryUnit', {}).get('id', 0) + if mu_id: + name = profile.get('citizen', {}).get('name') + params = dict(currentPage=1, panel="members", sortBy="dailyOrdersCompleted", + weekFilter=f"week{weeks_ago}", search=name) + member = self._get_military_unit_data(mu_id, **params).json() + return member.get('panelContents', {}).get('members', [{}])[0].get('dailyOrdersCompleted') + return 0 + class CitizenPolitics(BaseCitizen): def get_country_parties(self, country_id: int = None) -> dict: @@ -2004,6 +2017,15 @@ class CitizenSocial(BaseCitizen): player_id = self.details.citizen_id return self._get_main_citizen_profile_json(player_id).json() + def get_citizen_residency_data(self, citizen_id: int = None) -> Optional[Dict[str, Any]]: + if citizen_id is None: + citizen_id = self.details.citizen_id + profile = self.get_citizen_profile(citizen_id) + name = profile.get('citizen', {}).get('name', '') + city_id = profile.get('citizen', {}).get('residenceCityId') + if city_id: + return self._get_main_city_data_residents(city_id, params={"search": name}).json() + class CitizenTasks(BaseCitizen): tg_contract: dict = {}