mirror of
https://github.com/g0ldyy/comet.git
synced 2026-01-12 01:16:12 +01:00
refactor: extract aiohttp client timeouts into named constants
This commit is contained in:
@@ -2,6 +2,8 @@ import aiohttp
|
||||
|
||||
from comet.core.logger import logger
|
||||
|
||||
CATALOG_TIMEOUT = aiohttp.ClientTimeout(total=30)
|
||||
|
||||
|
||||
class CinemataClient:
|
||||
BASE_URL = "https://cinemeta-catalogs.strem.io"
|
||||
@@ -28,9 +30,7 @@ class CinemataClient:
|
||||
url = "/".join(url_parts) + f"/skip={skip}.json"
|
||||
|
||||
try:
|
||||
async with self.session.get(
|
||||
url, timeout=aiohttp.ClientTimeout(total=30)
|
||||
) as response:
|
||||
async with self.session.get(url, timeout=CATALOG_TIMEOUT) as response:
|
||||
response.raise_for_status()
|
||||
data = await response.json()
|
||||
return data
|
||||
|
||||
@@ -12,6 +12,8 @@ from comet.services.torrent_manager import (add_torrent_queue,
|
||||
extract_torrent_metadata,
|
||||
extract_trackers_from_magnet)
|
||||
|
||||
INDEXER_TIMEOUT = aiohttp.ClientTimeout(total=settings.INDEXER_MANAGER_TIMEOUT)
|
||||
|
||||
|
||||
class JackettScraper(BaseScraper):
|
||||
def __init__(self, manager, session: aiohttp.ClientSession, url: str):
|
||||
@@ -88,7 +90,7 @@ class JackettScraper(BaseScraper):
|
||||
try:
|
||||
response = await self.session.get(
|
||||
f"{self.url}/api/v2.0/indexers/all/results?apikey={settings.JACKETT_API_KEY}&Query={query}&Tracker[]={indexer}",
|
||||
timeout=aiohttp.ClientTimeout(total=settings.INDEXER_MANAGER_TIMEOUT),
|
||||
timeout=INDEXER_TIMEOUT,
|
||||
)
|
||||
response = await response.json()
|
||||
return response.get("Results", [])
|
||||
|
||||
@@ -12,6 +12,8 @@ from comet.services.torrent_manager import (add_torrent_queue,
|
||||
extract_torrent_metadata,
|
||||
extract_trackers_from_magnet)
|
||||
|
||||
INDEXER_TIMEOUT = aiohttp.ClientTimeout(total=settings.INDEXER_MANAGER_TIMEOUT)
|
||||
|
||||
|
||||
class ProwlarrScraper(BaseScraper):
|
||||
def __init__(self, manager, session: aiohttp.ClientSession, url: str):
|
||||
@@ -99,7 +101,7 @@ class ProwlarrScraper(BaseScraper):
|
||||
get_indexers = await self.session.get(
|
||||
f"{self.url}/api/v1/indexer",
|
||||
headers={"X-Api-Key": settings.PROWLARR_API_KEY},
|
||||
timeout=aiohttp.ClientTimeout(total=settings.INDEXER_MANAGER_TIMEOUT),
|
||||
timeout=INDEXER_TIMEOUT,
|
||||
)
|
||||
get_indexers = await get_indexers.json()
|
||||
|
||||
@@ -117,9 +119,7 @@ class ProwlarrScraper(BaseScraper):
|
||||
self.session.get(
|
||||
f"{self.url}/api/v1/search?query={query}&indexerIds={'&indexerIds='.join(str(indexer_id) for indexer_id in indexers_id)}&type=search",
|
||||
headers={"X-Api-Key": settings.PROWLARR_API_KEY},
|
||||
timeout=aiohttp.ClientTimeout(
|
||||
total=settings.INDEXER_MANAGER_TIMEOUT
|
||||
),
|
||||
timeout=INDEXER_TIMEOUT,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ from comet.core.models import database, settings
|
||||
from comet.utils.parsing import default_dump, is_video
|
||||
|
||||
INFO_HASH_PATTERN = re.compile(r"btih:([a-fA-F0-9]{40}|[a-zA-Z0-9]{32})")
|
||||
TORRENT_TIMEOUT = aiohttp.ClientTimeout(total=settings.GET_TORRENT_TIMEOUT)
|
||||
|
||||
|
||||
def extract_trackers_from_magnet(magnet_uri: str):
|
||||
@@ -34,7 +35,7 @@ def extract_trackers_from_magnet(magnet_uri: str):
|
||||
|
||||
async def download_torrent(session: aiohttp.ClientSession, url: str):
|
||||
try:
|
||||
timeout = aiohttp.ClientTimeout(total=settings.GET_TORRENT_TIMEOUT)
|
||||
timeout = TORRENT_TIMEOUT
|
||||
async with session.get(url, allow_redirects=False, timeout=timeout) as response:
|
||||
if response.status == 200:
|
||||
return (await response.read(), None, None)
|
||||
|
||||
Reference in New Issue
Block a user