From 260344bcbe973f4b73aace656db549cd5ab6dabd Mon Sep 17 00:00:00 2001 From: Eriks Karls Date: Thu, 5 Mar 2020 10:00:22 +0200 Subject: [PATCH] fix --- erepublik/__init__.py | 2 +- erepublik/citizen.py | 5 ++--- erepublik/classes.py | 26 ++++++++++++++------------ 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/erepublik/__init__.py b/erepublik/__init__.py index c462ebc..7394703 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__ = "93f2f28" +__commit_id__ = "d4a3719" from erepublik import classes, utils from erepublik.citizen import Citizen diff --git a/erepublik/citizen.py b/erepublik/citizen.py index 4b38433..576af83 100644 --- a/erepublik/citizen.py +++ b/erepublik/citizen.py @@ -2337,10 +2337,9 @@ class Citizen(CitizenAnniversary, CitizenCompanies, CitizenEconomy, CitizenLeade return self._wam(holding_id) else: msg = "I was not able to wam and or employ because:\n{}".format(response) - self.reporter.report_action("WORK_WAM_EMPLOYEES", response, msg) + self.reporter.report_action("WORK_AS_MANAGER", response, msg) self.write_log(msg) - self.update_companies() def work_as_manager(self): self.update_citizen_info() @@ -2364,11 +2363,11 @@ class Citizen(CitizenAnniversary, CitizenCompanies, CitizenEconomy, CitizenLeade if wam_count: self.write_log("Wam ff lockdown is now {}, was {}".format(wam_count, self.my_companies.ff_lockdown)) self.my_companies.ff_lockdown = wam_count + self.travel_to_residence() return bool(wam_count) else: self.write_log("Did not WAM because I would mess up levelup!") self.my_companies.ff_lockdown = 0 - self.travel_to_residence() self.update_companies() return not self.my_companies.get_total_wam_count() diff --git a/erepublik/classes.py b/erepublik/classes.py index be984b2..ea8b80c 100644 --- a/erepublik/classes.py +++ b/erepublik/classes.py @@ -395,11 +395,11 @@ class Reporter: email: str = "" citizen_id: int = 0 key: str = "" - allowed: bool = False + __allowed: bool = False @property def __dict__(self): - return dict(name=self.name, email=self.email, citizen_id=self.citizen_id, key=self.key, allowed=self.allowed, + return dict(name=self.name, email=self.email, citizen_id=self.citizen_id, key=self.key, allowed=self.__allowed, queue=self.__to_update) def __init__(self): @@ -415,12 +415,11 @@ class Reporter: self.citizen_id: int = citizen_id self.key: str = "" self.__update_key() - self.allowed = True + self.register_account() + self.__allowed = True def __update_key(self): self.key = hashlib.md5(bytes(f"{self.name}:{self.email}", encoding="UTF-8")).hexdigest() - self.allowed = True - self.register_account() def __bot_update(self, data: dict) -> Response: if self.__to_update: @@ -436,10 +435,11 @@ class Reporter: try: r = self.__bot_update(dict(key=self.key, check=True, player_id=self.citizen_id)) if not r.json().get("status"): - self._req.post("{}/bot/register".format(self.url), json=dict(name=self.name, email=self.email, - player_id=self.citizen_id)) + r = self._req.post("{}/bot/register".format(self.url), json=dict(name=self.name, email=self.email, + player_id=self.citizen_id)) finally: self.__registered = True + self.__allowed = True self.report_action("STARTED", value=utils.now().strftime("%F %T")) def send_state_update(self, xp: int, cc: float, gold: float, inv_total: int, inv: int, @@ -450,18 +450,20 @@ class Reporter: pp=pp, hp_limit=hp_limit, hp_interval=hp_interval, hp_available=hp_available, )) - if self.allowed: + if self.__allowed: self.__bot_update(data) def report_action(self, action: str, json_val: Dict[Any, Any] = None, value: str = None): - if all([self.key, self.email, self.name, self.citizen_id]): - return - json_data = {'player_id': self.citizen_id, 'key': self.key, 'log': dict(action=action)} + json_data = dict( + player_id=getattr(self, 'citizen_id', None), log={'action': action}, key=getattr(self, 'key', None) + ) if json_val: json_data['log'].update(dict(json=json_val)) if value: json_data['log'].update(dict(value=value)) - if self.allowed: + if not any([self.key, self.email, self.name, self.citizen_id]): + return + if self.__allowed: self.__bot_update(json_data) else: self.__to_update.append(json_data)