This commit is contained in:
EstrellaXD
2022-06-26 21:52:53 +08:00
parent 2d5bd57a7a
commit 33dba45bee
4 changed files with 27 additions and 9 deletions

View File

@@ -41,7 +41,10 @@ class Renamer:
logger.debug("No Season info")
season = 1
folder_name = path_parts[1] if path_parts[0] == "/" else path_parts[0]
download_path = path_parts[1]
try:
download_path = path_parts[1]
except IndexError:
download_path = ""
return path_name, season, folder_name, download_path
def run(self):

View File

@@ -132,5 +132,5 @@ class RawParser:
if __name__ == "__main__":
test = RawParser()
ep = test.analyse("【幻樱字幕组】【4月新番】【古见同学有交流障碍症 第二季 Komi-san wa, Komyushou Desu. S02】【22】【GB_MP4】【1920X1080】")
print(ep.season_info.raw)
ep = test.analyse("[Nekomoe kissaten] Komi-san wa, Komyushou Desu. 02 [WebRip 1080p HEVC-10bit AAC ASSx2]")
print(ep.title)

View File

@@ -2,6 +2,7 @@ import re
import logging
from os import path
# from .raw_parser import RawParser
logger = logging.getLogger(__name__)
@@ -9,13 +10,11 @@ logger = logging.getLogger(__name__)
class DownloadParser:
def __init__(self):
self.rules = [
r"(.*)\[(\d{1,3}|\d{1,3}\.\d{1,2})(?:v\d{1,2})?(?:END)?\](.*)",
r"(.*)\[E(\d{1,3}|\d{1,3}\.\d{1,2})(?:v\d{1,2})?(?:END)?\](.*)",
r"(.*)(?: -)[\[ E](\d{1,3}|\d{1,3}\.\d{1,2})(?:v\d{1,2})?(?: )?(?:END)?[\] ](.*)",
r"(.*)\[第(\d*\.*\d*)话(?:END)?\](.*)",
r"(.*)\[第(\d*\.*\d*)話(?:END)?\](.*)",
r"(.*)第(\d*\.*\d*)话(?:END)?(.*)",
r"(.*)第(\d*\.*\d*)話(?:END)?(.*)",
r"(.*)- (\d{1,3}|\d{1,3}\.\d{1,2})(?:v\d{1,2})?(?:END)?(.*)",
]
def rename_normal(self, name, season):
@@ -57,6 +56,20 @@ class DownloadParser:
)
return new_name
def rename_no_season_pn(self, name):
n = re.split(r"[\[\]()【】()]", name)
file_name = name.replace(f"[{n[1]}]", "")
for rule in self.rules:
match_obj = re.match(rule, file_name, re.I)
if match_obj is not None:
title = match_obj.group(1).strip()
new_name = re.sub(
r"[\[\]]",
"",
f"{title} E{match_obj.group(2)}{path.splitext(name)[-1]}",
)
return new_name
def download_rename(self, name, folder_name, season, method):
if method.lower() == "pn":
return self.rename_pn(name, season)
@@ -66,10 +79,12 @@ class DownloadParser:
return name
elif method.lower() == "advance":
return self.rename_advance(name, folder_name, season)
elif method.lower() == "no_season_pn":
return self.rename_no_season_pn(name)
if __name__ == "__main__":
name = "[NC-Raws]Summer Time Rendering S02 - 09(B-Global 3840x2160 HEVC AAC MKV).mkv"
name = "[Nekomoe kissaten] Komi-san wa, Komyushou Desu. S02 - 02 [WebRip 1080p HEVC-10bit AAC ASSx2].mkv"
rename = DownloadParser()
new_name = rename.rename_pn(name, 1)
print(new_name)

View File

@@ -1,11 +1,11 @@
qbittorrent-api
bs4~=4.11.1
bs4
requests==2.28.0
pysocks
lxml
setuptools~=62.1.0
fastapi~=0.78.0
fastapi
uvicorn~=0.17.6
jinja2
pydantic~=1.9.1