New endpoints opened

This commit is contained in:
Eriks Karls 2020-02-27 18:25:35 +02:00
parent e0c09672b1
commit 7ec15a9645
2 changed files with 23 additions and 1 deletions

View File

@ -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__ = "d6a0d5a" __commit_id__ = "e0c0967"
from erepublik import classes, utils from erepublik import classes, utils
from erepublik.citizen import Citizen from erepublik.citizen import Citizen

View File

@ -1888,6 +1888,19 @@ class CitizenMilitary(CitizenTravel):
ret.update({user["citizenId"]: user["name"]}) ret.update({user["citizenId"]: user["name"]})
return ret 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): class CitizenPolitics(BaseCitizen):
def get_country_parties(self, country_id: int = None) -> dict: def get_country_parties(self, country_id: int = None) -> dict:
@ -2004,6 +2017,15 @@ class CitizenSocial(BaseCitizen):
player_id = self.details.citizen_id player_id = self.details.citizen_id
return self._get_main_citizen_profile_json(player_id).json() 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): class CitizenTasks(BaseCitizen):
tg_contract: dict = {} tg_contract: dict = {}