Compare commits
15 Commits
Author | SHA1 | Date | |
---|---|---|---|
38f0335354 | |||
889435b94e | |||
bb16c27674 | |||
963d7ca11a | |||
36c7fefdf7 | |||
d9fa30b06e | |||
b53dc447f4 | |||
233d8d83f8 | |||
ec62d90aa2 | |||
0c433a56da | |||
ad24338f4d | |||
6f4bc65d1b | |||
cc09ba7ee7 | |||
9e1166a460 | |||
fb0042c00d |
@ -4,7 +4,7 @@
|
||||
|
||||
__author__ = """Eriks Karls"""
|
||||
__email__ = 'eriks@72.lv'
|
||||
__version__ = '0.21.5.1'
|
||||
__version__ = '0.21.5.8'
|
||||
|
||||
from erepublik import classes, utils, constants
|
||||
from erepublik.citizen import Citizen
|
||||
|
@ -164,10 +164,10 @@ class ErepublikAnniversaryAPI(CitizenBaseAPI):
|
||||
return self.post(f"{self.url}/main/map-rewards-claim", data=data)
|
||||
|
||||
def _post_main_wheel_of_fortune_spin(self, cost) -> Response:
|
||||
return self.post(f"{self.url}/wheeloffortune-spin", data={'_token': self.token, "cost": cost})
|
||||
return self.post(f"{self.url}/main/wheeloffortune-spin", data={'_token': self.token, "_currentCost": cost})
|
||||
|
||||
def _post_main_wheel_of_fortune_build(self) -> Response:
|
||||
return self.post(f"{self.url}/wheeloffortune-build", data={'_token': self.token})
|
||||
return self.post(f"{self.url}/main/wheeloffortune-build", data={'_token': self.token})
|
||||
|
||||
|
||||
class ErepublikArticleAPI(CitizenBaseAPI):
|
||||
|
@ -6,7 +6,7 @@ from decimal import Decimal
|
||||
from itertools import product
|
||||
from threading import Event
|
||||
from time import sleep
|
||||
from typing import Any, Callable, Dict, List, NoReturn, Optional, Set, Tuple, Union
|
||||
from typing import Any, Dict, List, NoReturn, Optional, Set, Tuple, Union
|
||||
|
||||
from requests import HTTPError, RequestException, Response
|
||||
|
||||
@ -683,9 +683,7 @@ class CitizenAnniversary(BaseCitizen):
|
||||
_write_spin_data(current_cost, r.get('account'),
|
||||
base.get('prizes').get('prizes').get(str(r.get('result'))).get('tooltip'))
|
||||
else:
|
||||
is_cost: Callable[[], bool] = lambda: (max_cost != current_cost if max_cost else True)
|
||||
is_count: Callable[[], bool] = lambda: (spin_count != current_count if spin_count else True)
|
||||
while is_cost() or is_count():
|
||||
while max_cost >= current_cost if max_cost else spin_count >= current_count if spin_count else False:
|
||||
r = self._spin_wheel_of_loosing(current_cost)
|
||||
current_count += 1
|
||||
current_cost = r.get('cost')
|
||||
@ -694,8 +692,8 @@ class CitizenAnniversary(BaseCitizen):
|
||||
|
||||
def _spin_wheel_of_loosing(self, current_cost: int) -> Dict[str, Any]:
|
||||
r = self._post_main_wheel_of_fortune_spin(current_cost).json()
|
||||
self.details.cc = r.get('account')
|
||||
return r.get('result')
|
||||
self.details.cc = float(Decimal(r.get('account')))
|
||||
return r
|
||||
|
||||
|
||||
class CitizenTravel(BaseCitizen):
|
||||
@ -940,8 +938,10 @@ class CitizenEconomy(CitizenTravel):
|
||||
|
||||
global_cheapest = self.get_market_offers("house", q)[f"q{q}"]
|
||||
if global_cheapest.price + 200 < local_cheapest.price:
|
||||
self._travel(global_cheapest.country)
|
||||
buy = self.buy_from_market(global_cheapest.offer_id, 1)
|
||||
if self.travel_to_country(global_cheapest.country):
|
||||
buy = self.buy_from_market(global_cheapest.offer_id, 1)
|
||||
else:
|
||||
buy = {'error': True, 'message': 'Unable to travel!'}
|
||||
else:
|
||||
buy = self.buy_from_market(local_cheapest.offer_id, 1)
|
||||
if buy["error"]:
|
||||
@ -1389,6 +1389,7 @@ class CitizenMilitary(CitizenTravel):
|
||||
try:
|
||||
if weapon['weaponQuantity'] > 30 and weapon['weaponInfluence'] > weapon_damage:
|
||||
weapon_quality = int(weapon['weaponId'])
|
||||
weapon_damage = weapon['weaponInfluence']
|
||||
except ValueError:
|
||||
pass
|
||||
return self.change_weapon(battle, weapon_quality, division)
|
||||
@ -1687,14 +1688,17 @@ class CitizenMilitary(CitizenTravel):
|
||||
damage = 0
|
||||
err = False
|
||||
if r_json.get("error"):
|
||||
if r_json.get("message") == "SHOOT_LOCKOUT" or r_json.get("message") == "ZONE_INACTIVE":
|
||||
if r_json.get("message") == "SHOOT_LOCKOUT":
|
||||
pass
|
||||
elif r_json.get("message") == "NOT_ENOUGH_WEAPONS":
|
||||
self.set_default_weapon(battle, division)
|
||||
elif r_json.get("message") == "Cannot activate a zone with a non-native division":
|
||||
self.write_log("Wrong division!!")
|
||||
return 0, 10, 0
|
||||
elif r_json.get("message") == "FIGHT_DISABLED":
|
||||
elif r_json.get("message") == "ZONE_INACTIVE":
|
||||
self.write_log("Wrong division!!")
|
||||
return 0, 10, 0
|
||||
elif r_json.get("message") in ["FIGHT_DISABLED", "DEPLOYMENT_MODE"]:
|
||||
self._post_main_profile_update('options',
|
||||
params='{"optionName":"enable_web_deploy","optionValue":"off"}')
|
||||
self.set_default_weapon(battle, division)
|
||||
@ -1999,7 +2003,8 @@ class CitizenPolitics(BaseCitizen):
|
||||
self._report_action('POLITIC_PARTY_PRESIDENT', 'Applied for party president elections')
|
||||
return self._get_candidate_party(self.politics.party_slug)
|
||||
|
||||
def get_country_president_election_result(self, country: constants.Country, year: int, month: int) -> Dict[str, int]:
|
||||
def get_country_president_election_result(self, country: constants.Country, year: int, month: int) -> Dict[
|
||||
str, int]:
|
||||
timestamp = int(constants.erep_tz.localize(datetime(year, month, 5)).timestamp())
|
||||
resp = self._get_presidential_elections(country.id, timestamp)
|
||||
candidates = re.findall(r'class="candidate_info">(.*?)</li>', resp.text, re.S | re.M)
|
||||
|
@ -451,24 +451,25 @@ class Energy:
|
||||
|
||||
|
||||
class Details:
|
||||
xp = 0
|
||||
cc = 0
|
||||
pp = 0
|
||||
pin = None
|
||||
gold = 0
|
||||
xp: int = 0
|
||||
cc: float = 0
|
||||
pp: int = 0
|
||||
pin: str = None
|
||||
gold: float = 0
|
||||
next_pp: List[int] = None
|
||||
citizen_id = 0
|
||||
citizen_id: int = 0
|
||||
citizenship: constants.Country
|
||||
current_region = 0
|
||||
current_region: int = 0
|
||||
current_country: constants.Country
|
||||
residence_region = 0
|
||||
residence_region: int = 0
|
||||
residence_country: constants.Country
|
||||
daily_task_done = False
|
||||
daily_task_reward = False
|
||||
mayhem_skills = {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0, 11: 0, 12: 0, 13: 0, 14: 0, }
|
||||
daily_task_done: bool = False
|
||||
daily_task_reward: bool = False
|
||||
mayhem_skills: Dict[int, int]
|
||||
|
||||
def __init__(self):
|
||||
self.next_pp = []
|
||||
self.mayhem_skills = {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0, 11: 0, 12: 0, 13: 0, 14: 0}
|
||||
|
||||
@property
|
||||
def xp_till_level_up(self):
|
||||
|
@ -1,5 +1,5 @@
|
||||
[bumpversion]
|
||||
current_version = 0.21.5.1
|
||||
current_version = 0.21.5.8
|
||||
commit = True
|
||||
tag = True
|
||||
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\.?(?P<dev>\d+)?
|
||||
|
13
setup.py
13
setup.py
@ -11,11 +11,18 @@ with open('README.rst') as readme_file:
|
||||
with open('HISTORY.rst') as history_file:
|
||||
history = history_file.read()
|
||||
|
||||
requirements = ['pytz==2020.1', 'requests==2.24.0', 'PySocks==1.7.1']
|
||||
requirements = [
|
||||
'pytz==2020.1',
|
||||
'requests==2.24.0',
|
||||
'PySocks==1.7.1'
|
||||
]
|
||||
|
||||
setup_requirements = []
|
||||
|
||||
test_requirements = []
|
||||
test_requirements = [
|
||||
"pytest==6.1.0",
|
||||
"responses==0.12.0"
|
||||
]
|
||||
|
||||
setup(
|
||||
author="Eriks Karls",
|
||||
@ -43,6 +50,6 @@ setup(
|
||||
test_suite='tests',
|
||||
tests_require=test_requirements,
|
||||
url='https://github.com/eeriks/erepublik/',
|
||||
version='0.21.5.1',
|
||||
version='0.21.5.8',
|
||||
zip_safe=False,
|
||||
)
|
||||
|
Reference in New Issue
Block a user