From aea315ff2473864cd3bcc3e1c8e3d040826faeb2 Mon Sep 17 00:00:00 2001 From: Georges-Antoine Assi Date: Sat, 5 Jul 2025 18:29:13 -0400 Subject: [PATCH] complete hasheous proxy --- backend/handler/metadata/hasheous_handler.py | 94 ++------------------ backend/handler/metadata/igdb_handler.py | 10 +-- 2 files changed, 13 insertions(+), 91 deletions(-) diff --git a/backend/handler/metadata/hasheous_handler.py b/backend/handler/metadata/hasheous_handler.py index b45d4160a..0e9f1d951 100644 --- a/backend/handler/metadata/hasheous_handler.py +++ b/backend/handler/metadata/hasheous_handler.py @@ -15,7 +15,6 @@ from .igdb_handler import ( IGDB_AGE_RATINGS, IGDBMetadata, IGDBMetadataPlatform, - IGDBRelatedGame, IGDBRom, ) from .ra_handler import RAGameRom @@ -82,90 +81,13 @@ def extract_metadata_from_igdb_rom(rom: dict[str, Any]) -> IGDBMetadata: for r in pydash.map_(rom.get("age_ratings", {}), "rating_category") if r in IGDB_AGE_RATINGS ], - "expansions": [ - IGDBRelatedGame( - id=e["id"], - slug=e["slug"], - name=e["name"], - cover_url=MetadataHandler._normalize_cover_url( - pydash.get(e, "cover.url", "").replace("t_thumb", "t_1080p") - ), - type="expansion", - ) - for e in pydash.map_(rom.get("expansions", {})) - ], - "dlcs": [ - IGDBRelatedGame( - id=d["id"], - slug=d["slug"], - name=d["name"], - cover_url=MetadataHandler._normalize_cover_url( - pydash.get(d, "cover.url", "").replace("t_thumb", "t_1080p") - ), - type="dlc", - ) - for d in pydash.map_(rom.get("dlcs", {})) - ], - "remasters": [ - IGDBRelatedGame( - id=r["id"], - slug=r["slug"], - name=r["name"], - cover_url=MetadataHandler._normalize_cover_url( - pydash.get(r, "cover.url", "").replace("t_thumb", "t_1080p") - ), - type="remaster", - ) - for r in pydash.map_(rom.get("remasters", {})) - ], - "remakes": [ - IGDBRelatedGame( - id=r["id"], - slug=r["slug"], - name=r["name"], - cover_url=MetadataHandler._normalize_cover_url( - pydash.get(r, "cover.url", "").replace("t_thumb", "t_1080p") - ), - type="remake", - ) - for r in pydash.map_(rom.get("remakes", {})) - ], - "expanded_games": [ - IGDBRelatedGame( - id=g["id"], - slug=g["slug"], - name=g["name"], - cover_url=MetadataHandler._normalize_cover_url( - pydash.get(g, "cover.url", "").replace("t_thumb", "t_1080p") - ), - type="expanded", - ) - for g in pydash.map_(rom.get("expanded_games", {})) - ], - "ports": [ - IGDBRelatedGame( - id=p["id"], - slug=p["slug"], - name=p["name"], - cover_url=MetadataHandler._normalize_cover_url( - pydash.get(p, "cover.url", "").replace("t_thumb", "t_1080p") - ), - type="port", - ) - for p in pydash.map_(rom.get("ports", {})) - ], - "similar_games": [ - IGDBRelatedGame( - id=s["id"], - slug=s["slug"], - name=s["name"], - cover_url=MetadataHandler._normalize_cover_url( - pydash.get(s, "cover.url", "").replace("t_thumb", "t_1080p") - ), - type="similar", - ) - for s in pydash.map_(rom.get("similar_games", {})) - ], + "expansions": [], + "dlcs": [], + "ports": [], + "remakes": [], + "remasters": [], + "similar_games": [], + "expanded_games": [], } ) @@ -174,7 +96,7 @@ class HasheousHandler(MetadataHandler): def __init__(self) -> None: self.BASE_URL = ( "https://beta.hasheous.org/api/v1" - if False + if DEV_MODE else "https://hasheous.org/api/v1" ) self.platform_endpoint = f"{self.BASE_URL}/Lookup/Platforms" diff --git a/backend/handler/metadata/igdb_handler.py b/backend/handler/metadata/igdb_handler.py index 7511b63cc..9bca05939 100644 --- a/backend/handler/metadata/igdb_handler.py +++ b/backend/handler/metadata/igdb_handler.py @@ -236,7 +236,7 @@ class IGDBHandler(MetadataHandler): return wrapper - async def _request(self, url: str, data: str, timeout: int = 120) -> list: + async def _request(self, url: str, data: str) -> list: httpx_client = ctx_httpx_client.get() masked_headers = {} @@ -247,13 +247,13 @@ class IGDBHandler(MetadataHandler): url, masked_headers, f"{data} limit {self.pagination_limit};", - timeout, + 120, ) res = await httpx_client.post( url, content=f"{data} limit {self.pagination_limit};", headers=self.headers, - timeout=timeout, + timeout=120, ) res.raise_for_status() @@ -301,13 +301,13 @@ class IGDBHandler(MetadataHandler): url, masked_headers, f"{data} limit {self.pagination_limit};", - timeout, + 120, ) res = await httpx_client.post( url, content=f"{data} limit {self.pagination_limit};", headers=self.headers, - timeout=timeout, + timeout=120, ) res.raise_for_status() return res.json()