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
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/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 "]
diff --git a/src/__main__.py b/src/__main__.py
index 40b10fe..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"
'👷 Продавец: '
@@ -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)
diff --git a/src/market/base.py b/src/market/base.py
index ef6541b..2237a97 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,16 @@ 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):
"""