Add advance to subtitle rename

This commit is contained in:
EstrellaXD
2023-05-03 20:24:45 +08:00
parent b781ca72ac
commit 476adc308d
2 changed files with 29 additions and 12 deletions

View File

@@ -95,13 +95,15 @@ class Renamer:
subtitle_list: list[str],
bangumi_name: str,
season: int,
method: str,
_hash
):
method = "subtitle_" + method
for subtitle_path in subtitle_list:
suffix = os.path.splitext(subtitle_path)[-1]
old_name = self.get_file_name(subtitle_path)
new_name = self._renamer.torrent_parser(
method="subtitle",
method=method,
torrent_name=old_name,
bangumi_name=bangumi_name,
season=season,
@@ -175,6 +177,7 @@ class Renamer:
subtitle_list=subtitle_list,
bangumi_name=bangumi_name,
season=season,
method=rename_method,
_hash=info.hash
)
elif len(media_list) > 1:
@@ -191,17 +194,8 @@ class Renamer:
subtitle_list=subtitle_list,
bangumi_name=bangumi_name,
season=season,
method=rename_method,
_hash=info.hash
)
else:
logger.warning(f"{info.name} has no media file")
if __name__ == '__main__':
from module.conf import settings, setup_logger
setup_logger()
client = DownloadClient(settings)
renamer = Renamer(client, settings)
save_path = "D:\Videos\Bangumi\我推的孩子\Season 1\[XKsub][Oshi no Ko][01][CHS][1080P][WEBrip][MP4].mp4"
path = renamer.get_file_name(save_path)
print(path)

View File

@@ -116,13 +116,36 @@ def rename_subtitle(info: DownloadInfo):
return new_name
def rename_subtitle_advance(info: DownloadInfo):
subtitle_lang = "zh"
break_flag = False
for key, value in SUBTITLE_LANG.items():
for lang in value:
if lang in info.name:
subtitle_lang = key
break_flag = True
break
if break_flag:
break
for rule in RULES:
match_obj = re.match(rule, info.file_name, re.I)
if match_obj is not None:
new_name = re.sub(
r"[\[\]]",
"",
f"{info.folder_name} S{info.season}E{match_obj.group(2)}.{subtitle_lang}{info.suffix}",
)
return new_name
METHODS = {
"normal": rename_normal,
"pn": rename_pn,
"advance": rename_advance,
"no_season_pn": rename_no_season_pn,
"none": rename_none,
"subtitle": rename_subtitle,
"subtitle_pn": rename_subtitle,
"subtitle_advance": rename_subtitle_advance,
}