diff --git a/fastanime/libs/anime_provider/base_provider.py b/fastanime/libs/anime_provider/base_provider.py index 780e1bd..4def832 100644 --- a/fastanime/libs/anime_provider/base_provider.py +++ b/fastanime/libs/anime_provider/base_provider.py @@ -1,3 +1,5 @@ +import os + import requests from yt_dlp.utils.networking import random_user_agent @@ -8,6 +10,17 @@ class AnimeProvider: USER_AGENT = random_user_agent() HEADERS = {} - def __init__(self) -> None: - self.session = requests.session() + def __init__( + self, cache_requests=os.environ.get("FASTANIME_CACHE_REQUESTS", "true") + ) -> None: + if cache_requests.lower() == "true": + from ...constants import APP_CACHE_DIR + from ..common.requests_cacher import CachedRequestsSession + + self.session = CachedRequestsSession( + os.path.join(APP_CACHE_DIR, "cached_requests.db"), + os.path.join(APP_CACHE_DIR, "cached_requests.lock"), + ) + else: + self.session = requests.session() self.session.headers.update({"User-Agent": self.USER_AGENT, **self.HEADERS})