mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-03-30 08:50:17 +08:00
fix async
This commit is contained in:
@@ -5,11 +5,13 @@ import logging
|
||||
import time
|
||||
from datetime import datetime
|
||||
|
||||
import httpx
|
||||
import requests
|
||||
import requests.exceptions
|
||||
|
||||
from app.core.cache import cached
|
||||
from app.core.config import settings
|
||||
from app.utils.asyncio import AsyncUtils
|
||||
from app.utils.http import RequestUtils, AsyncRequestUtils
|
||||
from .exceptions import TMDbException
|
||||
|
||||
@@ -17,14 +19,13 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TMDb(object):
|
||||
_req = None
|
||||
_async_req = None
|
||||
_session = None
|
||||
|
||||
def __init__(self, obj_cached=True, session=None, language=None):
|
||||
def __init__(self, obj_cached=True, session=None, client=None, language=None):
|
||||
self._api_key = settings.TMDB_API_KEY
|
||||
self._language = language or settings.TMDB_LOCALE or "en-US"
|
||||
self._session_id = None
|
||||
self._session = session
|
||||
self._client = client
|
||||
self._wait_on_rate_limit = True
|
||||
self._debug_enabled = False
|
||||
self._cache_enabled = obj_cached
|
||||
@@ -34,13 +35,14 @@ class TMDb(object):
|
||||
self._total_results = None
|
||||
self._total_pages = None
|
||||
|
||||
if session is not None:
|
||||
self._req = RequestUtils(session=session, proxies=self.proxies)
|
||||
else:
|
||||
if not self._session:
|
||||
self._session = requests.Session()
|
||||
self._req = RequestUtils(session=self._session, proxies=self.proxies)
|
||||
# 初始化异步请求客户端
|
||||
self._async_req = AsyncRequestUtils(proxies=self.proxies)
|
||||
self._req = RequestUtils(session=self._session, proxies=self.proxies)
|
||||
|
||||
if not self._client:
|
||||
self._client = httpx.AsyncClient()
|
||||
self._async_req = AsyncRequestUtils(client=self._client, proxies=self.proxies)
|
||||
|
||||
self._remaining = 40
|
||||
self._reset = None
|
||||
self._timeout = 15
|
||||
@@ -277,3 +279,5 @@ class TMDb(object):
|
||||
def close(self):
|
||||
if self._session:
|
||||
self._session.close()
|
||||
if self._client:
|
||||
AsyncUtils.run_async(self._client.aclose())
|
||||
|
||||
Reference in New Issue
Block a user