From 36323ac028dc4833c57200100f4e36a170bdb7c2 Mon Sep 17 00:00:00 2001 From: Goldy <153996346+g0ldyy@users.noreply.github.com> Date: Tue, 19 Nov 2024 15:42:28 +0100 Subject: [PATCH] feat: title match check aliases system --- comet/api/stream.py | 9 ++++----- comet/utils/general.py | 20 +++++++++++++------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/comet/api/stream.py b/comet/api/stream.py index 0ba9057..a0f5d6f 100644 --- a/comet/api/stream.py +++ b/comet/api/stream.py @@ -342,10 +342,9 @@ async def stream(request: Request, b64config: str, type: str, id: str): return {"streams": []} if settings.TITLE_MATCH_CHECK: - # aliases = await get_aliases( - # session, "movies" if type == "movie" else "series", id - # ) - # print(aliases) + aliases = await get_aliases( + session, "movies" if type == "movie" else "shows", id + ) indexed_torrents = [(i, torrents[i]["Title"]) for i in range(len(torrents))] chunk_size = 50 @@ -356,7 +355,7 @@ async def stream(request: Request, b64config: str, type: str, id: str): tasks = [] for chunk in chunks: - tasks.append(filter(chunk, name, year, {})) + tasks.append(filter(chunk, name, year, aliases)) filtered_torrents = await asyncio.gather(*tasks) index_less = 0 diff --git a/comet/utils/general.py b/comet/utils/general.py index caf68ea..28ebb4f 100644 --- a/comet/utils/general.py +++ b/comet/utils/general.py @@ -673,11 +673,17 @@ def get_client_ip(request: Request): async def get_aliases(session: aiohttp.ClientSession, media_type: str, media_id: str): - response = await session.get( - f"https://api.trakt.tv/{media_type}/{media_id}/aliases" - ) + aliases = {} + try: + response = await session.get(f"https://api.trakt.tv/{media_type}/{media_id}/aliases") + + for aliase in await response.json(): + country = aliase["country"] + if not country in aliases: + aliases[country] = [] + + aliases[country].append(aliase["title"]) + except: + pass - if not response.ok: - return set() - - return {item["title"] for item in response.json()} + return aliases