From 664eadb3fd16b7d16f81fea1b7768d84dc780b2f Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Sun, 23 Apr 2023 23:14:03 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E6=96=B0=E5=A2=9E=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E5=9F=9F=E5=90=8D=20-=20=E5=A2=9E=E5=8A=A0=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E6=8A=A5=E9=94=99=E5=9F=9F=E5=90=8D=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=20#195=20-=20=E4=BF=AE=E5=A4=8D=20Dev-debug=20=E5=BC=80?= =?UTF-8?q?=E5=90=AF=E7=9A=84=E9=94=99=E8=AF=AF=20#192=20-=20=E9=87=8D?= =?UTF-8?q?=E5=81=9A=E9=87=8D=E5=91=BD=E5=90=8D=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=90=88=E9=9B=86=E9=87=8D=E5=91=BD=E5=90=8D?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E6=96=87=E4=BB=B6=E5=A4=B9=E5=86=85=E9=87=8D?= =?UTF-8?q?=E5=91=BD=E5=90=8D=EF=BC=8C=E6=94=AF=E6=8C=81=E5=AD=97=E5=B9=95?= =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=E3=80=82=20-=20Fix=20pytest=20-=20F?= =?UTF-8?q?ix=20Bugs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/module/app.py | 20 ++++++++++---------- src/module/conf/__init__.py | 1 + src/module/conf/config.py | 4 ++-- src/module/core/download_client.py | 10 +++++----- src/module/rss/rss_analyser.py | 6 +++--- 5 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/module/app.py b/src/module/app.py index 70210b5f..362325fa 100644 --- a/src/module/app.py +++ b/src/module/app.py @@ -2,7 +2,7 @@ import os import time import logging -from module.conf import settings, LOG_PATH, DATA_PATH +from module.conf import settings, LOG_PATH, DATA_PATH, RSS_LINK from module.utils import json_config from module.core import DownloadClient @@ -21,17 +21,17 @@ def reset_log(): def load_data_file(): if not os.path.exists(DATA_PATH): bangumi_data = { - "rss_link": settings.rss_parser.link, + "rss_link": RSS_LINK, "data_version": settings.program.data_version, "bangumi_info": [] } logger.info("Building data information...") else: bangumi_data = json_config.load(DATA_PATH) - if bangumi_data["data_version"] != settings.program.data_version or bangumi_data["rss_link"] != settings.rss_parser.link: + if bangumi_data["data_version"] != settings.data_version or bangumi_data["rss_link"] != RSS_LINK: bangumi_data = { - "rss_link": settings.rss_parser.link, - "data_version": settings.program.data_version, + "rss_link": RSS_LINK, + "data_version": settings.data_version, "bangumi_info": [] } logger.info("Rebuilding data information...") @@ -54,11 +54,11 @@ def main_process(bangumi_data, download_client: DownloadClient): FullSeasonGet().eps_complete(bangumi_data["bangumi_info"], download_client) logger.info("Running....") save_data_file(bangumi_data) - while times < settings.program.times: + while times < settings.program.rename_times: if settings.bangumi_manage.enable: - rename.run() + rename.rename() times += 1 - time.sleep(settings.program.sleep_time / settings.program.times) + time.sleep(settings.program.sleep_time / settings.program.rename_times) def run(): @@ -66,8 +66,8 @@ def run(): reset_log() download_client = DownloadClient() download_client.init_downloader() - if settings.rss_parser.link is None: - logger.error("Please add RIGHT RSS url.") + if settings.rss_parser.token is None: + logger.error("Please set your RSS token in config file.") quit() download_client.rss_feed() bangumi_data = load_data_file() diff --git a/src/module/conf/__init__.py b/src/module/conf/__init__.py index a3b86de5..1bec68d2 100644 --- a/src/module/conf/__init__.py +++ b/src/module/conf/__init__.py @@ -4,3 +4,4 @@ from .config import settings, VERSION TMDB_API = "32b19d6a05b512190a056fa4e747cbbc" DATA_PATH = "data/data.json" +RSS_LINK = f"https://{settings.rss_parser.custom_url}/RSS/MyBangumi?token={settings.rss_parser.token}" diff --git a/src/module/conf/config.py b/src/module/conf/config.py index 1e5826f4..69c06975 100644 --- a/src/module/conf/config.py +++ b/src/module/conf/config.py @@ -2,7 +2,7 @@ import json import os import logging -from module.conf.const import ENV_TO_ATTR +from .const import ENV_TO_ATTR from module.models import Config logger = logging.getLogger(__name__) @@ -23,7 +23,7 @@ def save_config_to_file(config: Config, path: str): def load_config_from_file(path: str) -> Config: with open(path, "r", encoding="utf-8") as f: config = json.load(f) - return config + return Config(**config) def _val_from_env(env: str, attr: tuple): diff --git a/src/module/core/download_client.py b/src/module/core/download_client.py index 2800d028..94297bfd 100644 --- a/src/module/core/download_client.py +++ b/src/module/core/download_client.py @@ -4,7 +4,7 @@ import os from module.downloader import getClient -from module.conf import settings +from module.conf import settings, RSS_LINK logger = logging.getLogger(__name__) @@ -21,7 +21,7 @@ class DownloadClient: "rss_refresh_interval": 30, } self.client.prefs_init(prefs=prefs) - if settings.downloader.download_path == "": + if settings.downloader.path == "": prefs = self.client.get_app_prefs() settings.downloader.path = os.path.join(prefs["save_path"], "Bangumi") @@ -54,18 +54,18 @@ class DownloadClient: def rss_feed(self): # TODO: 定时刷新 RSS - if self.client.get_rss_info() == settings.rss_parser.link: + if self.client.get_rss_info() == RSS_LINK: logger.info("RSS Already exists.") else: logger.info("No feed exists, start adding feed.") - self.client.rss_add_feed(url=settings.rss_parser.link, item_path="Mikan_RSS") + self.client.rss_add_feed(url=RSS_LINK, item_path="Mikan_RSS") logger.info("Add RSS Feed successfully.") def add_collection_feed(self, rss_link, item_path): self.client.rss_add_feed(url=rss_link, item_path=item_path) logger.info("Add RSS Feed successfully.") - def add_rules(self, bangumi_info, rss_link=settings.rss_parser.link): + def add_rules(self, bangumi_info, rss_link=RSS_LINK): logger.debug("Start adding rules.") for info in bangumi_info: if not info["added"]: diff --git a/src/module/rss/rss_analyser.py b/src/module/rss/rss_analyser.py index 9060e27b..57704a95 100644 --- a/src/module/rss/rss_analyser.py +++ b/src/module/rss/rss_analyser.py @@ -3,7 +3,7 @@ import logging from module.network import RequestContent from module.parser import TitleParser -from module.conf import settings +from module.conf import settings, RSS_LINK from module.core import DownloadClient @@ -16,7 +16,7 @@ class RSSAnalyser: def rss_to_datas(self, bangumi_info: list) -> list: with RequestContent() as req: - rss_torrents = req.get_torrents(settings.rss_parser.link) + rss_torrents = req.get_torrents(RSS_LINK) for torrent in rss_torrents: raw_title = torrent.name extra_add = True @@ -46,7 +46,7 @@ class RSSAnalyser: logger.info("Start collecting RSS info.") try: self.rss_to_datas(bangumi_info) - download_client.add_rules(bangumi_info, rss_link=settings.rss_parser.link) + download_client.add_rules(bangumi_info, rss_link=RSS_LINK) except Exception as e: logger.debug(e) logger.info("Finished")