diff --git a/README.md b/README.md index bbb6f51..0586304 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,10 @@ ## πŸ“ λ³€κ²½ 이λ ₯ (Changelog) -### v0.6.10 (2026-01-07) +### v0.6.11 (2026-01-07) +- **Docker ν™˜κ²½ μ΅œμ ν™”**: + - `curl_cffi` 라이브러리 λΆ€μž¬ μ‹œ μžλ™ μ„€μΉ˜(pip install) 루틴 μΆ”κ°€ + - URL μΆ”μΆœ μ‹€νŒ¨ μ‹œ GDM μœ„μž„ 쀑단 및 μ—λŸ¬ 처리 κ°•ν™” - **Ohli24 GDM 연동 버그 μˆ˜μ •**: - `LogicOhli24.add` λ©”μ„œλ“œμ˜ 인덴트 였λ₯˜ 및 문법 였λ₯˜ ν•΄κ²° - λ‹€μš΄λ‘œλ“œ μ™„λ£Œ μ‹œ Ohli24 DB μžλ™ μ—…λ°μ΄νŠΈ 둜직 μ•ˆμ •ν™” diff --git a/info.yaml b/info.yaml index e6866b8..3b433b2 100644 --- a/info.yaml +++ b/info.yaml @@ -1,5 +1,5 @@ title: "μ• λ‹ˆ λ‹€μš΄λ‘œλ”" -version: "0.6.10" +version: "0.6.11" package_name: "anime_downloader" developer: "projectdx" description: "anime downloader" diff --git a/mod_ohli24.py b/mod_ohli24.py index 4c3e6dd..1f9b2e1 100644 --- a/mod_ohli24.py +++ b/mod_ohli24.py @@ -2259,6 +2259,9 @@ class LogicOhli24(AnimeModuleBase): logger.debug(f"Calling entity.prepare_extra() for {episode_info.get('_id')}") entity.prepare_extra() logger.debug(f"entity.prepare_extra() done. URL found: {entity.url is not None}") + if not entity.url: + logger.error(f"Failed to extract video URL for {episode_info.get('_id')}") + return "extract_failed" except Exception as e: logger.error(f"Failed to extract video info: {e}") # μΆ”μΆœ μ‹€νŒ¨ μ‹œ κΈ°μ‘΄ 방식(전체 큐)으둜 λ„˜κΈ°κ±°λ‚˜ μ—λŸ¬ λ°˜ν™˜ diff --git a/setup.py b/setup.py index d9e910d..d79e537 100644 --- a/setup.py +++ b/setup.py @@ -114,6 +114,19 @@ from plugin import * import os import traceback from flask import render_template +import subprocess +import sys + +# curl_cffi μžλ™ μ„€μΉ˜ 루틴 +try: + import curl_cffi +except ImportError: + try: + P.logger.info("curl_cffi not found. Attempting to install...") + subprocess.check_call([sys.executable, "-m", "pip", "install", "curl-cffi"]) + P.logger.info("curl_cffi installed successfully.") + except Exception as e: + P.logger.error(f"Failed to install curl_cffi: {e}") class LogicLog(PluginModuleBase): def __init__(self, P):