Catch connection errors.

Not logged in bugfix.
Minor tweaks.

Black for setup
This commit is contained in:
KEriks 2021-07-23 10:12:00 +03:00
parent ade0f9b11a
commit 61df989cb4
4 changed files with 37 additions and 31 deletions

View File

@ -5,6 +5,7 @@ import time
from typing import Any, Dict, List, Mapping, Union
from requests import Response, Session
from requests.exceptions import ConnectionError
from requests_toolbelt.utils import dump
from erepublik import constants, utils
@ -43,7 +44,11 @@ class SlowRequests(Session):
def request(self, method, url, *args, **kwargs):
self._slow_down_requests()
self._log_request(url, method, **kwargs)
try:
resp = super().request(method, url, *args, **kwargs)
except ConnectionError:
time.sleep(1)
return self.request(method, url, *args, **kwargs)
# self._log_response(resp)
return resp

View File

@ -177,9 +177,10 @@ class BaseCitizen(access_points.CitizenAPI):
if html is None:
self._get_main()
return
ugly_js = re.search(r'"promotions":\s*(\[{?.*?}?])', html).group(1)
promos = utils.json.loads(utils.normalize_html_json(ugly_js))
if self.promos is None:
ugly_js_match = re.search(r'"promotions":\s*(\[{?.*?}?])', html)
ugly_js = ugly_js_match.group(1) if ugly_js_match else "null"
promos = utils.json_loads(utils.normalize_html_json(ugly_js))
if promos is None:
self.promos = {}
else:
self.promos = {k: v for k, v in self.promos.items() if v > self.now}
@ -2920,7 +2921,7 @@ class _Citizen(
self.send_my_companies_update()
sleep_seconds = (start_time - self.now).total_seconds()
self.stop_threads.wait(sleep_seconds if sleep_seconds > 0 else 0)
except: # noqa
except Exception as e: # noqa
self.report_error("State updater crashed")
def send_state_update(self):

View File

@ -7,12 +7,12 @@ serialize = {major}.{minor}.{patch}.{dev}
{major}.{minor}.{patch}
[bumpversion:file:setup.py]
search = version='{current_version}'
replace = version='{new_version}'
search = version="{current_version}"
replace = version="{new_version}"
[bumpversion:file:erepublik/__init__.py]
search = __version__ = '{current_version}'
replace = __version__ = '{new_version}'
search = __version__ = "{current_version}"
replace = __version__ = "{new_version}"
[bdist_wheel]
universal = 1

View File

@ -5,17 +5,17 @@
from setuptools import find_packages, setup
with open('README.rst') as readme_file:
with open("README.rst") as readme_file:
readme = readme_file.read()
with open('HISTORY.rst') as history_file:
with open("HISTORY.rst") as history_file:
history = history_file.read()
requirements = [
'PySocks==1.7.1',
'pytz==2021.1',
'requests==2.26.0',
'requests-toolbelt==0.9.1',
"PySocks==1.7.1",
"pytz==2021.1",
"requests==2.26.0",
"requests-toolbelt==0.9.1",
]
setup_requirements = []
@ -26,30 +26,30 @@ test_requirements = [
setup(
author="Eriks Karls",
author_email='eriks@72.lv',
author_email="eriks@72.lv",
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Natural Language :: English',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
],
description="Python package for automated eRepublik playing",
entry_points={},
install_requires=requirements,
license="MIT license",
long_description=readme + '\n\n' + history,
long_description=readme + "\n\n" + history,
include_package_data=True,
keywords='erepublik',
name='eRepublik',
packages=find_packages(include=['erepublik']),
python_requires='>=3.8, <4',
keywords="erepublik",
name="eRepublik",
packages=find_packages(include=["erepublik"]),
python_requires=">=3.8, <4",
setup_requires=setup_requirements,
test_suite='tests',
test_suite="tests",
tests_require=test_requirements,
url='https://github.com/eeriks/erepublik/',
version='0.25.1.2',
url="https://github.com/eeriks/erepublik/",
version="0.25.1.2",
zip_safe=False,
)