Merge pull request #2933 from wikrin/v2-transfer

This commit is contained in:
jxxghp
2024-10-25 12:12:30 +08:00
committed by GitHub
+18 -13
View File
@@ -184,6 +184,17 @@ class TransferChain(ChainBase):
# 开始进度
self.progress.start(ProgressKey.FileTransfer)
# 汇总季集清单
season_episodes: Dict[Tuple, List[int]] = {}
# 汇总元数据
metas: Dict[Tuple, MetaBase] = {}
# 汇总媒体信息
medias: Dict[Tuple, MediaInfo] = {}
# 汇总整理信息
transfers: Dict[Tuple, TransferInfo] = {}
# 待整理文件列表
file_items = []
# 汇总错误信息
err_msgs: List[str] = []
# 已处理数量
@@ -209,14 +220,6 @@ class TransferChain(ChainBase):
# 处理所有待整理目录或文件,默认一个整理路径或文件只有一个媒体信息
for trans_item in trans_items:
# 汇总季集清单
season_episodes: Dict[Tuple, List[int]] = {}
# 汇总元数据
metas: Dict[Tuple, MetaBase] = {}
# 汇总媒体信息
medias: Dict[Tuple, MediaInfo] = {}
# 汇总整理信息
transfers: Dict[Tuple, TransferInfo] = {}
item_path = Path(trans_item.path)
# 如果是目录且不是⼀蓝光原盘,获取所有文件并整理
@@ -224,11 +227,11 @@ class TransferChain(ChainBase):
and not (trans_item.storage == "local" and SystemUtils.is_bluray_dir(item_path))):
# 遍历获取下载目录所有文件(递归)
file_items = self.storagechain.list_files(trans_item, recursion=True)
if not file_items:
continue
if file_items:
file_items.extend(trans_items)
else:
# 文件或蓝光目录
file_items = [trans_item]
file_items.append(trans_item)
if formaterHandler:
# 有集自定义格式,过滤文件
@@ -236,14 +239,16 @@ class TransferChain(ChainBase):
# 过滤后缀和大小
file_items = [f for f in file_items
if f.extension and (f".{f.extension.lower()}" in self.all_exts
if f.extension and (f".{f.extension.lower()}" in self.all_exts + settings.RMT_AUDIO_TRACK_EXT
and (not min_filesize or f.size > min_filesize * 1024 * 1024))]
if not file_items:
logger.warn(f"{fileitem.path} 没有找到可整理的媒体文件")
return False, f"{fileitem.name} 没有找到可整理的媒体文件"
logger.info(f"正在整理 {len(file_items)} 个文件...")
# 更新总文件数
total_num = len(file_items)
logger.info(f"正在整理 {total_num} 个文件...")
# 整理所有文件
for file_item in file_items: