- Rewrite config class

- Change multiprocessing to thread
- black all code
This commit is contained in:
EstrellaXD
2023-05-06 23:47:44 +08:00
parent d7a41d7404
commit 5c71b9d35d
38 changed files with 400 additions and 313 deletions

View File

@@ -1,4 +1,3 @@
from .raw_parser import raw_parser
from .torrent_parser import torrent_parser
from .tmdb_parser import TMDBMatcher

View File

@@ -3,10 +3,8 @@ from module.network import RequestContent
class BgmAPI:
def __init__(self):
self.search_url = lambda e: \
f"https://api.bgm.tv/search/subject/{e}?type=2"
self.info_url = lambda e: \
f"https://api.bgm.tv/subject/{e}"
self.search_url = lambda e: f"https://api.bgm.tv/search/subject/{e}?type=2"
self.info_url = lambda e: f"https://api.bgm.tv/subject/{e}"
def search(self, title):
url = self.search_url(title)

View File

@@ -108,6 +108,7 @@ def name_process(name: str):
name_en = item.strip()
return name_en, name_zh, name_jp
def find_tags(other):
elements = re.sub(r"[\[\]()]", " ", other).split(" ")
# find CHT
@@ -136,9 +137,9 @@ def process(raw_title: str):
# 翻译组的名字
match_obj = TITLE_RE.match(content_title)
# 处理标题
season_info, episode_info, other = list(map(
lambda x: x.strip(), match_obj.groups()
))
season_info, episode_info, other = list(
map(lambda x: x.strip(), match_obj.groups())
)
process_raw = prefix_process(season_info, group)
# 处理 前缀
raw_name, season_raw, season = season_process(process_raw)
@@ -155,7 +156,18 @@ def process(raw_title: str):
if raw_episode is not None:
episode = int(raw_episode.group())
sub, dpi, source = find_tags(other) # 剩余信息处理
return name_en, name_zh, name_jp, season, season_raw, episode, sub, dpi, source, group
return (
name_en,
name_zh,
name_jp,
season,
season_raw,
episode,
sub,
dpi,
source,
group,
)
def raw_parser(raw: str) -> Episode | None:
@@ -163,14 +175,13 @@ def raw_parser(raw: str) -> Episode | None:
if ret is None:
logger.error(f"Parser cannot analyse {raw}")
return None
name_en, name_zh, name_jp, season, sr, episode, \
sub, dpi, source, group = ret
return Episode(name_en, name_zh, name_jp, season, sr, episode, sub, group, dpi, source)
name_en, name_zh, name_jp, season, sr, episode, sub, dpi, source, group = ret
return Episode(
name_en, name_zh, name_jp, season, sr, episode, sub, group, dpi, source
)
if __name__ == '__main__':
if __name__ == "__main__":
title = "【幻樱字幕组】【4月新番】【古见同学有交流障碍症 第二季 Komi-san wa, Komyushou Desu. S02】【22】【GB_MP4】【1920X1080】"
ep = raw_parser(title)
print(ep)

View File

@@ -154,19 +154,19 @@ METHODS = {
def torrent_parser(
file_name: str,
folder_name: str,
season: int,
suffix: str,
method: str = "pn",
file_name: str,
folder_name: str,
season: int,
suffix: str,
method: str = "pn",
):
info = rename_init(file_name, folder_name, season, suffix)
return METHODS[method.lower()](info)
if __name__ == '__main__':
if __name__ == "__main__":
title = "海盗战记 S02E17.zh.ass"
folder_name = "海盗战记"
season = 2
suffix = ".ass"
print(torrent_parser(title, folder_name, season, suffix, method="advance"))
print(torrent_parser(title, folder_name, season, suffix, method="advance"))