From e24266827ec30fda2949695e679c24a903affe29 Mon Sep 17 00:00:00 2001 From: ZeN Date: Sun, 21 May 2023 13:26:29 +0300 Subject: [PATCH 1/6] added logging for errors as HTML --- README.md | 3 +++ src/market/base.py | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d7d37ae..b44b099 100644 --- a/README.md +++ b/README.md @@ -53,3 +53,6 @@ A - Да. Для этого вам нужно перечислить ссылк Q - Можно ли уменьшить задержку между запросами?
A - Нет, это ограничение идет со стороны Market API и обойти его никак нельзя. + +Q - У меня при работе приложения вылезла ошибка "Получена неизвестная ошибка". Что делать?
+A - Конкретных решений данной проблемы нет. Но чаще всего она появляется из-за слишком частых запросов. Возможно, у вас работает дополнительно другое приложение, которое также взаимодействует с торговой площадкой. В данном случае вам придется отключить одно из приложений. diff --git a/src/market/base.py b/src/market/base.py index ef6541b..cb2567a 100644 --- a/src/market/base.py +++ b/src/market/base.py @@ -1,4 +1,5 @@ import json +import logging import time from socket import error as socket_error from typing import Optional @@ -6,6 +7,8 @@ from .errors import MarketBuyError +logger = logging.getLogger(__name__) + class BaseMarketAPI: API_URL: str = "https://api.lzt.market/" @@ -45,7 +48,15 @@ def api_request( except error.HTTPError as http_error: error_response = http_error.read().decode("utf-8") - error_response = json.loads(error_response).get("errors") + logger.warning("Получена ошибка: %s", error_response) + try: + error_response = json.loads(error_response).get("errors") + except json.decoder.JSONDecodeError: + """ + Some errors return body as HTML, + so error is logged and called MarketBuyError to stop application + """ + raise MarketBuyError("Получена неизвестная ошибка") raise MarketBuyError(error_response[0]) except (error.URLError, socket_error): """ From 0b5b0da248d8b658f019dd8ed9c6a5eecab13c96 Mon Sep 17 00:00:00 2001 From: ZeN Date: Sun, 21 May 2023 13:27:29 +0300 Subject: [PATCH 2/6] fix API response --- src/__main__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/__main__.py b/src/__main__.py index 40b10fe..a95212b 100644 --- a/src/__main__.py +++ b/src/__main__.py @@ -42,8 +42,7 @@ def main(): len(items), ) - for item in items: - item_id = item["item_id"] + for item_id, item in items.items(): market_item = MarketItem(item, lolzteam_token) try: logging.info("Покупаю аккаунт %s", item_id) From 36ca68ec4cde9eaf04fd222ec8938cd4187379ce Mon Sep 17 00:00:00 2001 From: ZeN Date: Sun, 21 May 2023 13:30:41 +0300 Subject: [PATCH 3/6] edited message --- src/__main__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__main__.py b/src/__main__.py index a95212b..42dae86 100644 --- a/src/__main__.py +++ b/src/__main__.py @@ -6,7 +6,7 @@ from src.telegram import TelegramAPI TELEGRAM_MESSAGE = ( - '👷 Приобретен аккаунт: ' + '🎊 Приобретен аккаунт: ' "{title}\n" "💲 Цена: {price}₽\n" '👷 Продавец: ' From 4cc56bed5b6b4a639fc7e5be1fb27033d859da19 Mon Sep 17 00:00:00 2001 From: ZeN Date: Sun, 21 May 2023 13:31:27 +0300 Subject: [PATCH 4/6] bump version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8b59e9c..131e189 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "lolz-auto-buyer" -version = "1.1.1" +version = "1.1.2" description = "Application for buying accounts from market lolzteam forum" authors = ["ZeN220 "] From 0c42a88582c56c2cc23f8d09ed634bdefb318414 Mon Sep 17 00:00:00 2001 From: ZeN Date: Sun, 21 May 2023 13:40:52 +0300 Subject: [PATCH 5/6] update pre-commit config --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8cae48f..e550ca3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: name: flake8 - repo: https://github.com/pycqa/isort - rev: 5.10.1 + rev: 5.12.0 hooks: - id: isort name: isort From e1a971c45ec9044bd66497381c9e6a061e0fa995 Mon Sep 17 00:00:00 2001 From: ZeN Date: Sun, 21 May 2023 13:42:05 +0300 Subject: [PATCH 6/6] flake8 fix --- src/market/base.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/market/base.py b/src/market/base.py index cb2567a..2237a97 100644 --- a/src/market/base.py +++ b/src/market/base.py @@ -53,8 +53,9 @@ def api_request( error_response = json.loads(error_response).get("errors") except json.decoder.JSONDecodeError: """ - Some errors return body as HTML, - so error is logged and called MarketBuyError to stop application + Some errors return body as HTML, + so error is logged and called MarketBuyError + to stop application """ raise MarketBuyError("Получена неизвестная ошибка") raise MarketBuyError(error_response[0])