chore: apply pending code updates
This commit is contained in:
@@ -107,7 +107,7 @@ class TMDBClient:
|
||||
# Cache key for deduplication
|
||||
cache_key = f"{endpoint}:{str(sorted(params.items()))}"
|
||||
if cache_key in self._cache:
|
||||
logger.debug(f"Cache hit for {endpoint}")
|
||||
logger.debug("Cache hit for %s", endpoint)
|
||||
return self._cache[cache_key]
|
||||
|
||||
delay = 1
|
||||
@@ -121,7 +121,7 @@ class TMDBClient:
|
||||
if self.session is None:
|
||||
raise TMDBAPIError("Session is not available")
|
||||
|
||||
logger.debug(f"TMDB API request: {endpoint} (attempt {attempt + 1})")
|
||||
logger.debug("TMDB API request: %s (attempt %s)", endpoint, attempt + 1)
|
||||
async with self.session.get(url, params=params, timeout=aiohttp.ClientTimeout(total=60)) as resp:
|
||||
if resp.status == 401:
|
||||
raise TMDBAPIError("Invalid TMDB API key")
|
||||
@@ -130,7 +130,7 @@ class TMDBClient:
|
||||
elif resp.status == 429:
|
||||
# Rate limit - wait longer
|
||||
retry_after = int(resp.headers.get('Retry-After', delay * 2))
|
||||
logger.warning(f"Rate limited, waiting {retry_after}s")
|
||||
logger.warning("Rate limited, waiting %ss", retry_after)
|
||||
await asyncio.sleep(retry_after)
|
||||
continue
|
||||
|
||||
@@ -142,26 +142,26 @@ class TMDBClient:
|
||||
except asyncio.TimeoutError as e:
|
||||
last_error = e
|
||||
if attempt < max_retries - 1:
|
||||
logger.warning(f"Request timeout (attempt {attempt + 1}), retrying in {delay}s")
|
||||
logger.warning("Request timeout (attempt %s), retrying in %ss", attempt + 1, delay)
|
||||
await asyncio.sleep(delay)
|
||||
delay *= 2
|
||||
else:
|
||||
logger.error(f"Request timed out after {max_retries} attempts")
|
||||
logger.error("Request timed out after %s attempts", max_retries)
|
||||
|
||||
except (aiohttp.ClientError, AttributeError) as e:
|
||||
last_error = e
|
||||
# If connector/session was closed, try to recreate it
|
||||
if "Connector is closed" in str(e) or isinstance(e, AttributeError):
|
||||
logger.warning(f"Session issue detected, recreating session: {e}")
|
||||
logger.warning("Session issue detected, recreating session: %s", e)
|
||||
self.session = None
|
||||
await self._ensure_session()
|
||||
|
||||
if attempt < max_retries - 1:
|
||||
logger.warning(f"Request failed (attempt {attempt + 1}): {e}, retrying in {delay}s")
|
||||
logger.warning("Request failed (attempt %s): %s, retrying in %ss", attempt + 1, e, delay)
|
||||
await asyncio.sleep(delay)
|
||||
delay *= 2
|
||||
else:
|
||||
logger.error(f"Request failed after {max_retries} attempts: {e}")
|
||||
logger.error("Request failed after %s attempts: %s", max_retries, e)
|
||||
|
||||
raise TMDBAPIError(f"Request failed after {max_retries} attempts: {last_error}")
|
||||
|
||||
@@ -275,7 +275,7 @@ class TMDBClient:
|
||||
url = f"{self.image_base_url}/{size}{image_path}"
|
||||
|
||||
try:
|
||||
logger.debug(f"Downloading image from {url}")
|
||||
logger.debug("Downloading image from %s", url)
|
||||
async with self.session.get(url, timeout=aiohttp.ClientTimeout(total=60)) as resp:
|
||||
resp.raise_for_status()
|
||||
|
||||
@@ -286,7 +286,7 @@ class TMDBClient:
|
||||
with open(local_path, "wb") as f:
|
||||
f.write(await resp.read())
|
||||
|
||||
logger.info(f"Downloaded image to {local_path}")
|
||||
logger.info("Downloaded image to %s", local_path)
|
||||
|
||||
except aiohttp.ClientError as e:
|
||||
raise TMDBAPIError(f"Failed to download image: {e}")
|
||||
|
||||
Reference in New Issue
Block a user