- 新增自定义域名

- 增加连接报错域名提示 #195
- 修复 Dev-debug 开启的错误 #192
- 重做重命名逻辑,支持合集重命名以及文件夹内重命名,支持字幕重命名。
- Fix pytest
- Fix Bugs
This commit is contained in:
EstrellaXD
2023-04-23 23:14:03 +08:00
parent 6bc7a2dd62
commit 664eadb3fd
5 changed files with 21 additions and 20 deletions

View File

@@ -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()

View File

@@ -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}"

View File

@@ -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):

View File

@@ -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"]:

View File

@@ -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")