mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-04-14 02:20:53 +08:00
修复bug
This commit is contained in:
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (auto_bangumi)" project-jdk-type="Python SDK" />
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (np_veclib)" project-jdk-type="Python SDK" />
|
||||
</project>
|
||||
@@ -49,20 +49,18 @@ def show_info():
|
||||
logger.info("Starting AutoBangumi...")
|
||||
|
||||
|
||||
def rss_process(download_client: DownloadClient):
|
||||
bangumi_data = json_config.load(settings.info_path)
|
||||
def main_process(bangumi_data, download_client: DownloadClient):
|
||||
rss_analyser = RSSAnalyser()
|
||||
rename = Renamer(download_client)
|
||||
while True:
|
||||
rss_analyser.run(bangumi_data["bangumi_info"], download_client)
|
||||
save_data_file(bangumi_data)
|
||||
time.sleep(settings.sleep_time)
|
||||
|
||||
|
||||
def rename_process(download_client: DownloadClient):
|
||||
rename = Renamer(download_client)
|
||||
while True:
|
||||
rename.run()
|
||||
time.sleep(settings.rename_sleep)
|
||||
times = 0
|
||||
while times < settings.times:
|
||||
rename.refresh()
|
||||
rename.run()
|
||||
times += 1
|
||||
time.sleep(settings.sleep_time)
|
||||
|
||||
|
||||
def run():
|
||||
@@ -86,14 +84,9 @@ def run():
|
||||
logger.error("Please add RIGHT RSS url.")
|
||||
quit()
|
||||
download_client.rss_feed()
|
||||
bangumi_data = load_data_file()
|
||||
# 主程序循环
|
||||
|
||||
rss_thread = Process(target=rss_process, args=(download_client,))
|
||||
rename_thread = Process(target=rss_process, args=(download_client,))
|
||||
rss_thread.start()
|
||||
rename_thread.start()
|
||||
rename_thread.join()
|
||||
rename_thread.join()
|
||||
main_process(bangumi_data, download_client)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -4,7 +4,8 @@ DEFAULT_SETTINGS = {
|
||||
"version": "2.5.0-beta2",
|
||||
"data_version": 4.0,
|
||||
"host_ip": "localhost:8080",
|
||||
"sleep_time": 1800,
|
||||
"sleep_time": 180,
|
||||
"times": 10,
|
||||
"rename_sleep": 600,
|
||||
"user_name": "admin",
|
||||
"password": "adminadmin",
|
||||
|
||||
@@ -10,8 +10,8 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Renamer:
|
||||
def __init__(self, downloadClient: DownloadClient):
|
||||
self.client = downloadClient
|
||||
def __init__(self, download_client: DownloadClient):
|
||||
self.client = download_client
|
||||
self._renamer = TitleParser()
|
||||
self.recent_info = self.client.get_torrent_info()
|
||||
self.rename_count = 0
|
||||
@@ -29,7 +29,7 @@ class Renamer:
|
||||
for i in range(0, self.torrent_count):
|
||||
info = self.recent_info[i]
|
||||
name = info.name
|
||||
hash = info.hash
|
||||
torrent_hash = info.hash
|
||||
path_parts = PurePath(info.content_path).parts \
|
||||
if PurePath(info.content_path).name != info.content_path \
|
||||
else PureWindowsPath(info.content_path).parts
|
||||
@@ -40,14 +40,14 @@ class Renamer:
|
||||
logger.debug(f"Origin name: {path_name}")
|
||||
logger.debug(f"New name: {new_name}")
|
||||
if path_name != new_name:
|
||||
self.client.rename_torrent_file(hash, path_name, new_name)
|
||||
self.client.rename_torrent_file(torrent_hash, path_name, new_name)
|
||||
self.rename_count += 1
|
||||
else:
|
||||
continue
|
||||
except:
|
||||
logger.warning(f"{path_name} rename failed")
|
||||
if settings.remove_bad_torrent:
|
||||
self.client.delete_torrent(hash)
|
||||
self.client.delete_torrent(torrent_hash)
|
||||
self.print_result()
|
||||
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ class RSSAnalyser:
|
||||
rss_titles = self._request.get_titles(settings.rss_link)
|
||||
self._request.close_session()
|
||||
for raw_title in rss_titles:
|
||||
logger.info(raw_title)
|
||||
logger.debug(raw_title)
|
||||
extra_add = True
|
||||
for d in bangumi_info:
|
||||
if re.search(d["title_raw"], raw_title) is not None:
|
||||
@@ -33,7 +33,7 @@ class RSSAnalyser:
|
||||
|
||||
def run(self, bangumi_info: list, download_client: DownloadClient):
|
||||
self.rss_to_data(bangumi_info)
|
||||
download_client.add_rules(bangumi_info)
|
||||
download_client.add_rules(bangumi_info, rss_link=settings.rss_link)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -1 +1 @@
|
||||
from .parser import TitleParser
|
||||
from .parser import TitleParser
|
||||
|
||||
@@ -4,7 +4,7 @@ import requests
|
||||
from conf.conf import settings
|
||||
from utils import json_config
|
||||
|
||||
from bangumi_parser.episode import Episode
|
||||
from parser.episode import Episode
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -19,26 +19,29 @@ class TitleParser:
|
||||
|
||||
def return_dict(self, raw):
|
||||
tmdb = TMDBMatcher()
|
||||
episode = self.raw_parser(raw)
|
||||
try:
|
||||
tmdb_info = tmdb.tmdb_search(episode.title)
|
||||
official_title = tmdb_info.title_zh if settings.zh_title else tmdb_info.title_jp
|
||||
season = tmdb_info.last_season
|
||||
episode = self.raw_parser(raw)
|
||||
try:
|
||||
tmdb_info = tmdb.tmdb_search(episode.title)
|
||||
official_title = tmdb_info.title_zh if settings.zh_title else tmdb_info.title_jp
|
||||
season = tmdb_info.last_season
|
||||
except Exception as e:
|
||||
logger.debug(e)
|
||||
logger.info("Not Match in TMDB")
|
||||
official_title = episode.title
|
||||
season = episode.season_info.number
|
||||
data = {
|
||||
"official_title": official_title,
|
||||
"title_raw": episode.title,
|
||||
"season": season,
|
||||
"season_raw": episode.season_info.raw,
|
||||
"group": episode.group,
|
||||
"dpi": episode.dpi,
|
||||
"source": episode.source,
|
||||
"subtitle": episode.subtitle,
|
||||
"added": False,
|
||||
"eps_collect": True if settings.eps_complete else False,
|
||||
}
|
||||
return data
|
||||
except Exception as e:
|
||||
logger.debug(e)
|
||||
logger.info("Not Match in TMDB")
|
||||
official_title = episode.title
|
||||
season = episode.season_info.number
|
||||
data = {
|
||||
"official_title": official_title,
|
||||
"title_raw": episode.title,
|
||||
"season": season,
|
||||
"season_raw": episode.season_info.raw,
|
||||
"group": episode.group,
|
||||
"dpi": episode.dpi,
|
||||
"source": episode.source,
|
||||
"subtitle": episode.subtitle,
|
||||
"added": False,
|
||||
"eps_collect": True if settings.eps_complete else False,
|
||||
}
|
||||
return data
|
||||
logger.debug(e)
|
||||
Reference in New Issue
Block a user