diff --git a/erepublik/access_points.py b/erepublik/access_points.py index 883a189..65f738c 100644 --- a/erepublik/access_points.py +++ b/erepublik/access_points.py @@ -73,13 +73,13 @@ class SlowRequests(Session): args.update({'kwargs': kwargs}) if data: - args.update({"data": data}) + args.update({'data': data}) if json: - args.update({"json": json}) + args.update({'json': json}) if params: - args.update({"params": params}) + args.update({'params': params}) body = f"[{utils.now().strftime('%F %T')}]\tURL: '{url}'\tMETHOD: {method}\tARGS: {args}\n" with open(self.request_log_name, 'ab') as file: @@ -91,13 +91,13 @@ class SlowRequests(Session): if self.debug: if resp.history and not redirect: for hist_resp in resp.history: - self._log_request(hist_resp.request.url, "REDIRECT") + self._log_request(hist_resp.request.url, 'REDIRECT') self._log_response(hist_resp.request.url, hist_resp, redirect=True) fd_path = 'debug/requests' fd_time = self.last_time.strftime('%Y/%m/%d/%H-%M-%S') fd_name = utils.slugify(url[len(Citizen.url):]) - fd_extra = "_REDIRECT" if redirect else "" + fd_extra = '_REDIRECT' if redirect else "" try: utils.json.loads(resp.text) @@ -144,7 +144,7 @@ class CitizenBaseAPI: class ErepublikAnniversaryAPI(CitizenBaseAPI): def _post_main_collect_anniversary_reward(self) -> Response: - return self.post(f"{self.url}/main/collect-anniversary-reward", data={"_token": self.token}) + return self.post(f"{self.url}/main/collect-anniversary-reward", data={'_token': self.token}) # 12th anniversary endpoints def _get_anniversary_quest_data(self) -> Response: @@ -155,7 +155,7 @@ class ErepublikAnniversaryAPI(CitizenBaseAPI): return self.post(f"{self.url}/main/map-rewards-unlock", data=data) def _post_map_rewards_speedup(self, node_id: int, currency_amount: int) -> Response: - data = {'nodeId': node_id, '_token': self.token, "currencyCost": currency_amount} + data = {'nodeId': node_id, '_token': self.token, 'currencyCost': currency_amount} return self.post(f"{self.url}/main/map-rewards-speedup", data=data) def _post_map_rewards_claim(self, node_id: int, extra: bool = False) -> Response: @@ -165,7 +165,7 @@ 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}/main/wheeloffortune-spin", data={'_token': self.token, "_currentCost": 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}/main/wheeloffortune-build", data={'_token': self.token}) @@ -187,7 +187,7 @@ class ErepublikArticleAPI(CitizenBaseAPI): def _post_main_article_comments_create(self, message: str, article_id: int, parent: int = 0) -> Response: data = dict(_token=self.token, message=message, articleId=article_id) if parent: - data.update({"parentId": parent}) + data.update({'parentId': parent}) return self.post(f"{self.url}/main/articleComments/create", data=data) def _post_main_donate_article(self, article_id: int, amount: int) -> Response: @@ -206,13 +206,13 @@ class ErepublikArticleAPI(CitizenBaseAPI): class ErepublikCompanyAPI(CitizenBaseAPI): def _post_economy_assign_to_holding(self, factory_id: int, holding_id: int) -> Response: - data = dict(_token=self.token, factoryId=factory_id, action="assign", holdingCompanyId=holding_id) + data = dict(_token=self.token, factoryId=factory_id, action='assign', holdingCompanyId=holding_id) return self.post(f"{self.url}/economy/assign-to-holding", data=data) def _post_economy_create_company(self, industry_id: int, building_type: int = 1) -> Response: - data = {"_token": self.token, "company[industry_id]": industry_id, "company[building_type]": building_type} + data = {'_token': self.token, "company[industry_id]": industry_id, "company[building_type]": building_type} return self.post(f"{self.url}/economy/create-company", data=data, - headers={"Referer": f"{self.url}/economy/create-company"}) + headers={'Referer': f"{self.url}/economy/create-company"}) def _get_economy_inventory_items(self) -> Response: return self.get(f"{self.url}/economy/inventory-items/") @@ -233,12 +233,12 @@ class ErepublikCompanyAPI(CitizenBaseAPI): return self.post(f"{self.url}/economy/train", data=data) def _post_economy_upgrade_company(self, factory: int, level: int, pin: str = None) -> Response: - data = dict(_token=self.token, type="upgrade", companyId=factory, level=level, pin="" if pin is None else pin) + data = dict(_token=self.token, type='upgrade', companyId=factory, level=level, pin="" if pin is None else pin) return self.post(f"{self.url}/economy/upgrade-company", data=data) def _post_economy_work(self, action_type: str, wam: List[int] = None, employ: Dict[int, int] = None) -> Response: data: Dict[str, Union[int, str]] = dict(action_type=action_type, _token=self.token) - if action_type == "production": + if action_type == 'production': if employ is None: employ = {} if wam is None: @@ -261,7 +261,7 @@ class ErepublikCompanyAPI(CitizenBaseAPI): return self.post(f"{self.url}/economy/work", data=data) def _post_economy_work_overtime(self) -> Response: - data = dict(action_type="workOvertime", _token=self.token) + data = dict(action_type='workOvertime', _token=self.token) return self.post(f"{self.url}/economy/workOvertime", data=data) def _post_economy_job_market_apply(self, citizen_id: int, salary: float) -> Response: @@ -271,16 +271,16 @@ class ErepublikCompanyAPI(CitizenBaseAPI): def _post_economy_resign(self) -> Response: return self.post(f"{self.url}/economy/resign", headers={"Content-Type": "application/x-www-form-urlencoded"}, - data={"_token": self.token, "action_type": "resign"}) + data={'_token': self.token, 'action_type': 'resign'}) def _post_economy_sell_company(self, factory_id: int, pin: int = None, sell: bool = True) -> Response: data = dict(_token=self.token, pin="" if pin is None else pin) if sell: - data.update({"sell": "sell"}) + data.update({'sell': 'sell'}) else: - data.update({"dissolve": factory_id}) + data.update({'dissolve': factory_id}) return self.post(f"{self.url}/economy/sell-company/{factory_id}", - data=data, headers={"Referer": self.url}) + data=data, headers={'Referer': self.url}) class ErepublikCountryAPI(CitizenBaseAPI): @@ -291,7 +291,7 @@ class ErepublikCountryAPI(CitizenBaseAPI): quality: int = None) -> Response: data = dict(countryId=country_id, action=action, _token=self.token, value=value, quality=quality) return self.post(f"{self.url}/main/country-donate", data=data, - headers={"Referer": f"{self.url}/country/economy/Latvia"}) + headers={'Referer': f"{self.url}/country/economy/Latvia"}) class ErepublikEconomyAPI(CitizenBaseAPI): @@ -313,20 +313,20 @@ class ErepublikEconomyAPI(CitizenBaseAPI): return self.post(f"{self.url}/economy/activateBooster", data=data) def _post_economy_activate_house(self, quality: int) -> Response: - data = dict(action="activate", quality=quality, type="house", _token=self.token) + data = dict(action='activate', quality=quality, type='house', _token=self.token) return self.post(f"{self.url}/economy/activateHouse", data=data) def _post_economy_donate_items_action(self, citizen_id: int, amount: int, industry: int, quality: int) -> Response: data = dict(citizen_id=citizen_id, amount=amount, industry_id=industry, quality=quality, _token=self.token) return self.post(f"{self.url}/economy/donate-items-action", data=data, - headers={"Referer": f"{self.url}/economy/donate-items/{citizen_id}"}) + headers={'Referer': f"{self.url}/economy/donate-items/{citizen_id}"}) def _post_economy_donate_money_action(self, citizen_id: int, amount: float = 0.0, currency: int = 62) -> Response: data = dict(citizen_id=citizen_id, _token=self.token, currency_id=currency, amount=amount) return self.post(f"{self.url}/economy/donate-money-action", data=data, - headers={"Referer": f"{self.url}/economy/donate-money/{citizen_id}"}) + headers={'Referer': f"{self.url}/economy/donate-money/{citizen_id}"}) def _post_economy_exchange_purchase(self, amount: float, currency: int, offer: int) -> Response: data = dict(_token=self.token, amount=amount, currencyId=currency, offerId=offer) @@ -344,19 +344,19 @@ class ErepublikEconomyAPI(CitizenBaseAPI): def _post_economy_marketplace(self, country: int, industry: int, quality: int, order_asc: bool = True) -> Response: data = dict(countryId=country, industryId=industry, quality=quality, ajaxMarket=1, - orderBy="price_asc" if order_asc else "price_desc", _token=self.token) + orderBy='price_asc' if order_asc else 'price_desc', _token=self.token) return self.post(f"{self.url}/economy/marketplaceAjax", data=data) def _post_economy_marketplace_actions(self, action: str, **kwargs) -> Response: if action == 'buy': data = dict(_token=self.token, offerId=kwargs['offer'], amount=kwargs['amount'], - orderBy="price_asc", currentPage=1, buyAction=1) + orderBy='price_asc', currentPage=1, buyAction=1) elif action == 'sell': - data = dict(_token=self.token, countryId=kwargs["country_id"], price=kwargs["price"], - industryId=kwargs["industry"], quality=kwargs["quality"], amount=kwargs['amount'], + data = dict(_token=self.token, countryId=kwargs['country_id'], price=kwargs['price'], + industryId=kwargs['industry'], quality=kwargs['quality'], amount=kwargs['amount'], sellAction='postOffer') elif action == 'delete': - data = dict(_token=self.token, offerId=kwargs["offer_id"], sellAction='deleteOffer') + data = dict(_token=self.token, offerId=kwargs['offer_id'], sellAction='deleteOffer') else: raise ValueError(f"Action '{action}' is not supported! Only 'buy/sell/delete' actions are available") return self.post(f"{self.url}/economy/marketplaceActions", data=data) @@ -384,7 +384,7 @@ class ErepublikLocationAPI(CitizenBaseAPI): def _get_main_city_data_residents(self, city_id: int, page: int = 1, params: Mapping[str, Any] = None) -> Response: if params is None: params = {} - return self.get(f"{self.url}/main/city-data/{city_id}/residents", params={"currentPage": page, **params}) + return self.get(f"{self.url}/main/city-data/{city_id}/residents", params={'currentPage': page, **params}) class ErepublikMilitaryAPI(CitizenBaseAPI): @@ -407,7 +407,7 @@ class ErepublikMilitaryAPI(CitizenBaseAPI): return self.get(f"{self.url}/military/campaignsJson/citizen") def _get_military_unit_data(self, unit_id: int, **kwargs) -> Response: - params = {"groupId": unit_id, "panel": "members", **kwargs} + params = {'groupId': unit_id, 'panel': 'members', **kwargs} return self.get(f"{self.url}/military/military-unit-data/", params=params) def _post_main_activate_battle_effect(self, battle_id: int, kind: str, citizen_id: int) -> Response: @@ -435,10 +435,10 @@ class ErepublikMilitaryAPI(CitizenBaseAPI): def _post_military_battle_console(self, battle_id: int, action: str, page: int = 1, **kwargs) -> Response: data = dict(battleId=battle_id, action=action, _token=self.token) - if action == "battleStatistics": - data.update(round=kwargs["round_id"], zoneId=kwargs["round_id"], leftPage=page, rightPage=page, - division=kwargs["division"], type=kwargs.get("type", 'damage'), ) - elif action == "warList": + if action == 'battleStatistics': + data.update(round=kwargs['round_id'], zoneId=kwargs['round_id'], leftPage=page, rightPage=page, + division=kwargs['division'], type=kwargs.get('type', 'damage'), ) + elif action == 'warList': data.update(page=page) return self.post(f"{self.url}/military/battle-console", data=data) @@ -518,10 +518,10 @@ class ErepublikProfileAPI(CitizenBaseAPI): return self.get(f"{self.url}/main/messages-paginated/{page}") def _get_main_money_donation_accept(self, donation_id: int) -> Response: - return self.get(f"{self.url}/main/money-donation/accept/{donation_id}", params={"_token": self.token}) + return self.get(f"{self.url}/main/money-donation/accept/{donation_id}", params={'_token': self.token}) def _get_main_money_donation_reject(self, donation_id: int) -> Response: - return self.get(f"{self.url}/main/money-donation/reject/{donation_id}", params={"_token": self.token}) + return self.get(f"{self.url}/main/money-donation/reject/{donation_id}", params={'_token': self.token}) def _get_main_notifications_ajax_community(self, page: int = 1) -> Response: return self.get(f"{self.url}/main/notificationsAjax/community/{page}") @@ -541,16 +541,16 @@ class ErepublikProfileAPI(CitizenBaseAPI): def _post_main_citizen_add_remove_friend(self, citizen: int, add: bool) -> Response: data = dict(_token=self.token, citizenId=citizen, url="//www.erepublik.com/en/main/citizen-addRemoveFriend") if add: - data.update({"action": "addFriend"}) + data.update({'action': 'addFriend'}) else: - data.update({"action": "removeFriend"}) + data.update({'action': 'removeFriend'}) return self.post(f"{self.url}/main/citizen-addRemoveFriend", data=data) def _post_main_daily_task_reward(self) -> Response: return self.post(f"{self.url}/main/daily-tasks-reward", data=dict(_token=self.token)) def _post_delete_message(self, msg_id: list) -> Response: - data = {"_token": self.token, "delete_message[]": msg_id} + data = {'_token': self.token, "delete_message[]": msg_id} return self.post(f"{self.url}/main/messages-delete", data) def _post_eat(self, color: str) -> Response: @@ -562,7 +562,7 @@ class ErepublikProfileAPI(CitizenBaseAPI): return self.post(f"{self.url}/main/global-alerts/close", data=data) def _post_forgot_password(self, email: str) -> Response: - data = dict(_token=self.token, email=email, commit="Reset password") + data = dict(_token=self.token, email=email, commit='Reset password') return self.post(f"{self.url}/forgot-password", data=data) def _post_login(self, email: str, password: str) -> Response: @@ -570,19 +570,19 @@ class ErepublikProfileAPI(CitizenBaseAPI): return self.post(f"{self.url}/login", data=data) def _post_main_messages_alert(self, notification_ids: List[int]) -> Response: - data = {"_token": self.token, "delete_alerts[]": notification_ids, "deleteAllAlerts": "1", "delete": "Delete"} + data = {'_token': self.token, "delete_alerts[]": notification_ids, 'deleteAllAlerts': '1', 'delete': 'Delete'} return self.post(f"{self.url}/main/messages-alerts/1", data=data) def _post_main_notifications_ajax_community(self, notification_ids: List[int], page: int = 1) -> Response: - data = {"_token": self.token, "delete_alerts[]": notification_ids} + data = {'_token': self.token, "delete_alerts[]": notification_ids} return self.post(f"{self.url}/main/notificationsAjax/community/{page}", data=data) def _post_main_notifications_ajax_system(self, notification_ids: List[int], page: int = 1) -> Response: - data = {"_token": self.token, "delete_alerts[]": notification_ids} + data = {'_token': self.token, "delete_alerts[]": notification_ids} return self.post(f"{self.url}/main/notificationsAjax/system/{page}", data=data) def _post_main_notifications_ajax_report(self, notification_ids: List[int], page: int = 1) -> Response: - data = {"_token": self.token, "delete_alerts[]": notification_ids} + data = {'_token': self.token, "delete_alerts[]": notification_ids} return self.post(f"{self.url}/main/notificationsAjax/report/{page}", data=data) def _post_main_messages_compose(self, subject: str, body: str, citizens: List[int]) -> Response: @@ -592,7 +592,7 @@ class ErepublikProfileAPI(CitizenBaseAPI): return self.post(f"{self.url}/main/messages-compose/{url_pk}", data=data) def _post_military_group_missions(self) -> Response: - data = dict(action="check", _token=self.token) + data = dict(action='check', _token=self.token) return self.post(f"{self.url}/military/group-missions", data=data) def _post_main_weekly_challenge_reward(self, reward_id: int) -> Response: @@ -604,7 +604,7 @@ class ErepublikProfileAPI(CitizenBaseAPI): return self.post(f"{self.url}/main/weekly-challenge-collect-all", data=data) def _post_main_profile_update(self, action: str, params: str): - data = {"action": action, "params": params, "_token": self.token} + data = {'action': action, 'params': params, '_token': self.token} return self.post(f"{self.url}/main/profile-update", data=data) @@ -621,73 +621,73 @@ class ErepublikWallPostAPI(CitizenBaseAPI): # ## Country def _post_main_country_comment_retrieve(self, post_id: int) -> Response: - data = {"_token": self.token, "postId": post_id} + data = {'_token': self.token, 'postId': post_id} return self.post(f"{self.url}/main/country-comment/retrieve/json", data=data) def _post_main_country_comment_create(self, post_id: int, comment_message: str) -> Response: - data = {"_token": self.token, "postId": post_id, 'comment_message': comment_message} + data = {'_token': self.token, 'postId': post_id, 'comment_message': comment_message} return self.post(f"{self.url}/main/country-comment/create/json", data=data) def _post_main_country_post_create(self, body: str, post_as: int) -> Response: - data = {"_token": self.token, "post_message": body, "post_as": post_as} + data = {'_token': self.token, 'post_message': body, 'post_as': post_as} return self.post(f"{self.url}/main/country-post/create/json", data=data) def _post_main_country_post_retrieve(self) -> Response: - data = {"_token": self.token, "page": 1, "switchedFrom": False} + data = {'_token': self.token, 'page': 1, 'switchedFrom': False} return self.post(f"{self.url}/main/country-post/retrieve/json", data=data) # ## Military Unit def _post_main_military_unit_comment_retrieve(self, post_id: int) -> Response: - data = {"_token": self.token, "postId": post_id} + data = {'_token': self.token, 'postId': post_id} return self.post(f"{self.url}/main/military-unit-comment/retrieve/json", data=data) def _post_main_military_unit_comment_create(self, post_id: int, comment_message: str) -> Response: - data = {"_token": self.token, "postId": post_id, 'comment_message': comment_message} + data = {'_token': self.token, 'postId': post_id, 'comment_message': comment_message} return self.post(f"{self.url}/main/military-unit-comment/create/json", data=data) def _post_main_military_unit_post_create(self, body: str, post_as: int) -> Response: - data = {"_token": self.token, "post_message": body, "post_as": post_as} + data = {'_token': self.token, 'post_message': body, 'post_as': post_as} return self.post(f"{self.url}/main/military-unit-post/create/json", data=data) def _post_main_military_unit_post_retrieve(self) -> Response: - data = {"_token": self.token, "page": 1, "switchedFrom": False} + data = {'_token': self.token, 'page': 1, 'switchedFrom': False} return self.post(f"{self.url}/main/military-unit-post/retrieve/json", data=data) # ## Party def _post_main_party_comment_retrieve(self, post_id: int) -> Response: - data = {"_token": self.token, "postId": post_id} + data = {'_token': self.token, 'postId': post_id} return self.post(f"{self.url}/main/party-comment/retrieve/json", data=data) def _post_main_party_comment_create(self, post_id: int, comment_message: str) -> Response: - data = {"_token": self.token, "postId": post_id, 'comment_message': comment_message} + data = {'_token': self.token, 'postId': post_id, 'comment_message': comment_message} return self.post(f"{self.url}/main/party-comment/create/json", data=data) def _post_main_party_post_create(self, body: str) -> Response: - data = {"_token": self.token, "post_message": body} + data = {'_token': self.token, 'post_message': body} return self.post(f"{self.url}/main/party-post/create/json", data=data) def _post_main_party_post_retrieve(self) -> Response: - data = {"_token": self.token, "page": 1, "switchedFrom": False} + data = {'_token': self.token, 'page': 1, 'switchedFrom': False} return self.post(f"{self.url}/main/party-post/retrieve/json", data=data) # ## Friend's Wall def _post_main_wall_comment_retrieve(self, post_id: int) -> Response: - data = {"_token": self.token, "postId": post_id} + data = {'_token': self.token, 'postId': post_id} return self.post(f"{self.url}/main/wall-comment/retrieve/json", data=data) def _post_main_wall_comment_create(self, post_id: int, comment_message: str) -> Response: - data = {"_token": self.token, "postId": post_id, 'comment_message': comment_message} + data = {'_token': self.token, 'postId': post_id, 'comment_message': comment_message} return self.post(f"{self.url}/main/wall-comment/create/json", data=data) def _post_main_wall_post_create(self, body: str) -> Response: - data = {"_token": self.token, "post_message": body} + data = {'_token': self.token, 'post_message': body} return self.post(f"{self.url}/main/wall-post/create/json", data=data) def _post_main_wall_post_retrieve(self) -> Response: - data = {"_token": self.token, "page": 1, "switchedFrom": False} + data = {'_token': self.token, 'page': 1, 'switchedFrom': False} return self.post(f"{self.url}/main/wall-post/retrieve/json", data=data) # ## Medal posting