diff --git a/backend/appsettings/src/config.py b/backend/appsettings/src/config.py index c3ca6168..b135c355 100644 --- a/backend/appsettings/src/config.py +++ b/backend/appsettings/src/config.py @@ -13,7 +13,6 @@ from appsettings.src.snapshot import ElasticSnapshot from common.src.es_connect import ElasticWrap from common.src.ta_redis import RedisArchivist from django.conf import settings -from download.src.yt_dlp_base import CookieHandler class SubscriptionsConfigType(TypedDict): @@ -127,30 +126,9 @@ class AppConfig: def post_process_updated(self, data: dict) -> None: """apply hooks for some config keys""" for config_value, updated_value in data: - if config_value == "downloads.cookie_import": - self.process_cookie(updated_value) if config_value == "application.enable_snapshot" and updated_value: ElasticSnapshot().setup() - def process_cookie(self, updated_value): - """import and validate cookie""" - handler = CookieHandler(self.config) - if updated_value: - try: - handler.import_cookie() - except FileNotFoundError: - print("cookie: import failed, file not found") - handler.revoke() - self._fail_message("Cookie file not found.") - return - - valid = handler.validate() - if not valid: - handler.revoke() - self._fail_message("Failed to validate cookie file.") - else: - handler.revoke() - @staticmethod def _fail_message(message_line): """notify our failure""" diff --git a/backend/download/src/yt_dlp_base.py b/backend/download/src/yt_dlp_base.py index 0a931b91..55311a5f 100644 --- a/backend/download/src/yt_dlp_base.py +++ b/backend/download/src/yt_dlp_base.py @@ -4,13 +4,12 @@ functionality: - handle yt-dlp errors """ -import os from datetime import datetime from http import cookiejar from io import StringIO import yt_dlp -from common.src.env_settings import EnvironmentSettings +from appsettings.src.config import AppConfig from common.src.ta_redis import RedisArchivist @@ -87,7 +86,6 @@ class CookieHandler: def __init__(self, config): self.cookie_io = False self.config = config - self.cache_dir = EnvironmentSettings.CACHE_DIR def get(self): """get cookie io stream""" @@ -95,28 +93,8 @@ class CookieHandler: self.cookie_io = StringIO(cookie) return self.cookie_io - def import_cookie(self): - """import cookie from file""" - import_path = os.path.join( - self.cache_dir, "import", "cookies.google.txt" - ) - - try: - with open(import_path, encoding="utf-8") as cookie_file: - cookie = cookie_file.read() - except FileNotFoundError as err: - print(f"cookie: {import_path} file not found") - raise err - - self.set_cookie(cookie) - - os.remove(import_path) - print("cookie: import successful") - def set_cookie(self, cookie): """set cookie str and activate in config""" - from appsettings.src.config import AppConfig - RedisArchivist().set_message("cookie", cookie, save=True) AppConfig().update_config({"downloads.cookie_import": True}) self.config["downloads"]["cookie_import"] = True @@ -125,8 +103,6 @@ class CookieHandler: @staticmethod def revoke(): """revoke cookie""" - from appsettings.src.config import AppConfig - RedisArchivist().del_message("cookie") RedisArchivist().del_message("cookie:valid") AppConfig().update_config({"downloads.cookie_import": False}) diff --git a/frontend/src/pages/SettingsApplication.tsx b/frontend/src/pages/SettingsApplication.tsx index 0267ca8b..c5c131cc 100644 --- a/frontend/src/pages/SettingsApplication.tsx +++ b/frontend/src/pages/SettingsApplication.tsx @@ -489,6 +489,7 @@ const SettingsApplication = () => { {showCookieForm ? ( <>