Speed up by avoiding scan in escape folders

This commit is contained in:
mtxcab
2020-03-25 18:49:27 -07:00
committed by GitHub
parent 8d1b1eb84d
commit 3a267ecc87

View File

@@ -35,24 +35,18 @@ def argparse_get_file():
else: else:
return args.file return args.file
def movie_lists(escape_folder): def movie_lists(root, escape_folder):
escape_folder = re.split('[,]', escape_folder) for folder in escape_folder:
if folder in root:
return []
total = [] total = []
file_type = ['.mp4', '.avi', '.rmvb', '.wmv', '.mov', '.mkv', '.flv', '.ts', '.webm', '.MP4', '.AVI', '.RMVB', '.WMV','.MOV', '.MKV', '.FLV', '.TS', '.WEBM', ] file_type = ['.mp4', '.avi', '.rmvb', '.wmv', '.mov', '.mkv', '.flv', '.ts', '.webm', '.MP4', '.AVI', '.RMVB', '.WMV','.MOV', '.MKV', '.FLV', '.TS', '.WEBM', ]
file_root = os.getcwd() for entry in os.scandir(root):
for root, dirs, files in os.walk(file_root): f = entry.path
flag_escape = 0 if entry.is_dir():
for folder in escape_folder: total += movie_lists(f, escape_folder)
if folder in root: elif os.path.splitext(f)[1] in file_type:
flag_escape = 1 total.append(f)
break
if flag_escape == 1:
continue
for f in files:
if os.path.splitext(f)[1] in file_type:
path = os.path.join(root, f)
path = path.replace(file_root, '.')
total.append(path)
return total return total
@@ -103,6 +97,7 @@ if __name__ == '__main__':
success_folder = config['common']['success_output_folder'] success_folder = config['common']['success_output_folder']
failed_folder = config['common']['failed_output_folder'] # 失败输出目录 failed_folder = config['common']['failed_output_folder'] # 失败输出目录
escape_folder = config['escape']['folders'] # 多级目录刮削需要排除的目录 escape_folder = config['escape']['folders'] # 多级目录刮削需要排除的目录
escape_folder = re.split('[,]', escape_folder)
print('[*]================== AV Data Capture ===================') print('[*]================== AV Data Capture ===================')
print('[*] Version ' + version) print('[*] Version ' + version)
print('[*]======================================================') print('[*]======================================================')
@@ -110,7 +105,7 @@ if __name__ == '__main__':
UpdateCheck(version) UpdateCheck(version)
CreatFailedFolder(failed_folder) CreatFailedFolder(failed_folder)
os.chdir(os.getcwd()) os.chdir(os.getcwd())
movie_list = movie_lists(escape_folder) movie_list = movie_lists('.', escape_folder)
#========== 野鸡番号拖动 ========== #========== 野鸡番号拖动 ==========
number_argparse=argparse_get_file() number_argparse=argparse_get_file()