From 15406c732b4a332268d53e7dd58b17587ac409ca Mon Sep 17 00:00:00 2001 From: vrubel Date: Fri, 2 Jan 2026 17:50:10 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD?= =?UTF-8?q?=D0=BE=20=D0=BB=D0=BE=D0=B3=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B5=20=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D1=80=D0=B5=D0=BD=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/app.py b/app.py index cfa2d4d..eceec0f 100644 --- a/app.py +++ b/app.py @@ -283,15 +283,29 @@ async def search_torrents(movie_title: str, year: str = None, original_title: st print(f"Searching '{search_query}' on {provider_name}") # Поиск на конкретном провайдере - исправленный эндпоинт - search_response = await client.get( - f"{TORRENT_SEARCH_URL}/api/search/title/{provider_name}", - params={"query": search_query} - ) + try: + search_response = await client.get( + f"{TORRENT_SEARCH_URL}/api/search/title/{provider_name}", + params={"query": search_query}, + timeout=30.0 + ) + except Exception as request_error: + print(f"Request error on {provider_name} for '{search_query}': {request_error}") + import traceback + traceback.print_exc() + continue if search_response.status_code == 200: - results = search_response.json() + try: + results = search_response.json() + except Exception as json_error: + print(f"JSON parse error on {provider_name} for '{search_query}': {json_error}") + print(f"Response text (first 500 chars): {search_response.text[:500]}") + continue if not isinstance(results, list): print(f"Unexpected response format from {provider_name}: {type(results)}") + if isinstance(results, dict): + print(f"Dict keys: {list(results.keys())}") continue print(f"Found {len(results)} results for '{search_query}' on {provider_name}") @@ -340,7 +354,9 @@ async def search_torrents(movie_title: str, year: str = None, original_title: st break except Exception as e: - print(f"Error searching on {provider_name}: {e}") + print(f"Error searching on {provider_name}: {type(e).__name__}: {e}") + import traceback + traceback.print_exc() continue # Сортируем по количеству сидов и ограничиваем общее количество @@ -458,7 +474,9 @@ async def search_torrent_by_id(torrent_id: str) -> dict: print(f"Error searching by ID on {provider_name}: {response.status_code} - {response.text}") except Exception as e: - print(f"Error searching on {provider_name}: {e}") + print(f"Error searching on {provider_name}: {type(e).__name__}: {e}") + import traceback + traceback.print_exc() continue print(f"No results found for ID {torrent_id} on any provider")