Telegram loop traceback formatting

Fixed double code execution in Citizen.update_citizen_info(None) calling Citizen.update_citizen_info(html) and executing code twice.
This commit is contained in:
Eriks Karls 2019-09-29 09:40:25 +03:00
parent 17c73c79a7
commit fe9a118875
3 changed files with 4 additions and 5 deletions

View File

@ -303,7 +303,7 @@ class Citizen(classes.CitizenAPI):
"""
if html is None:
self._get_main()
html = self.r.text
return
ugly_js = re.search(r'"promotions":\s*(\[{?.*?}?])', html).group(1)
promos = loads(utils.normalize_html_json(ugly_js))
self.promos = {k: v for k, v in (self.promos.items() if self.promos else {}) if v > self.now}
@ -552,7 +552,6 @@ class Citizen(classes.CitizenAPI):
@property
def health_info(self):
self.update_citizen_info()
ret = "{}/{} + {}, {}hp/6m. {}xp until level up".format(
self.energy.recovered,
self.energy.limit,

View File

@ -1173,7 +1173,7 @@ class TelegramBot:
message = f"Player *{self.player_name}*\n" + message
if utils.good_timedelta(utils.now(), datetime.timedelta(seconds=-1)) <= self.__last_time:
tb = traceback.extract_stack()
message += "\n\n```\n{}\n```".format("\n".join([str(l) for l in tb]))
message += "\n\n```\n{}\n```".format("\n".join([' File "{}", line {}, in {}\n'.format(l.filename, l.lineno, l.name) for l in tb]))
response = post(self.api_url, json=dict(chat_id=self.chat_id, text=message, parse_mode="Markdown"))
self.__last_time = utils.now()
return response.json().get('ok')

View File

@ -11,7 +11,7 @@ with open('README.rst') as readme_file:
with open('HISTORY.rst') as history_file:
history = history_file.read()
requirements = ['pytz==2019.2', 'requests==2.22.0']
requirements = ['pytz>=2019.2', 'requests>=2.22']
setup_requirements = [ ]
@ -41,7 +41,7 @@ setup(
setup_requires=setup_requirements,
test_suite='tests',
tests_require=test_requirements,
url='https://github.com/eeriks/erepublik_script',
url='https://github.com/eeriks/erepublik/t',
version='0.15.3',
zip_safe=False,
)