From ca9eaed4f04bab6fafa4145c7fb5186a297efaea Mon Sep 17 00:00:00 2001 From: Fiber Date: Sat, 27 Apr 2024 15:02:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=A4=9A=E5=AD=A3=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- copy.py | 46 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/copy.py b/copy.py index 48aef1c..7748170 100644 --- a/copy.py +++ b/copy.py @@ -8,6 +8,22 @@ download_dir = "/downloads/Default" save_dir = "/downloads/Anime" +permission_code = 511 +number_map = { + "零": 0, + "一": 1, + "二": 2, + "三": 3, + "四": 4, + "五": 5, + "六": 6, + "七": 7, + "八": 8, + "九": 9, + "十": 10 +} + + def delete(path): f = list(os.listdir(path)) for i in range(len(f)): @@ -35,15 +51,31 @@ else: save_name = name.replace(" [{}]".format(name_re.group(2)), " - {} ".format(name_re.group(2))) #删除保存文件夹路径的字幕修改标识 -sub_name = re.sub(r"\[dv\d\]","", sub_name) +sub_name = re.sub("\[v\d\]","", sub_name) -sub_save_dir = os.path.join(save_dir, sub_name) -if not os.path.exists(sub_save_dir): - os.makedirs(sub_save_dir) - os.chmod(sub_save_dir, 511) +#多季整合 +season_re = re.match(".*第(.)季.*", sub_name) +season = 1 #默认季 +season_dir = "Season " +if season_re: + season = number_map[season_re.group(1)] + sub_name = re.sub("第(.)季","", sub_name) + sub_name = sub_name.replace(" "," ") -shutil.copyfile(os.path.join(download_dir, name), os.path.join(sub_save_dir, save_name)) -os.chmod(os.path.join(sub_save_dir, save_name), 511) +season_dir += "{:0>2d}".format(season) +series_save_dir = os.path.join(save_dir, sub_name) +season_save_dir = os.path.join(series_save_dir, season_dir) + +if not os.path.exists(series_save_dir): + os.makedirs(series_save_dir) + os.chmod(series_save_dir, permission_code) + +if not os.path.exists(season_save_dir): + os.makedirs(season_save_dir) + os.chmod(season_save_dir, permission_code) + +shutil.copyfile(os.path.join(download_dir, name), os.path.join(season_save_dir, save_name)) +os.chmod(os.path.join(season_save_dir, save_name), permission_code) #delete(download_dir) \ No newline at end of file