mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-03-20 03:57:30 +08:00
fix(transfer): 修复部分情况下无法正确统计已完成任务总大小的问题
- get_directory_size 使用 os.scandir 递归遍历提升性能 - 当任务文件项存储类型为 local 时,若其大小为空,则通过 SystemUtils 获取目录大小以确保 完成任务的准确统计。 fix(cache): 修改 fresh 和 async_fresh 默认参数为 True refactor(filemanager): 移除整理后总大小计算逻辑 - 删除 TransHandler 中对整理目录总大小的冗余计算,提升性能并简化流程。 perf(system): 使用 scandir 优化文件扫描性能 - 重构 SystemUtils 中的文件扫描方法(list_files、exists_file、list_sub_files), - 采用 os.scandir 替代 glob 实现,并预编译正则表达式以提升目录遍历与文件匹配性能。
This commit is contained in:
@@ -150,14 +150,11 @@ class TransHandler:
|
||||
return self.result.copy()
|
||||
|
||||
logger.info(f"文件夹 {fileitem.path} 整理成功")
|
||||
# 计算目录下所有文件大小
|
||||
total_size = sum(file.stat().st_size for file in Path(fileitem.path).rglob('*') if file.is_file())
|
||||
# 返回整理后的路径
|
||||
self.__set_result(success=True,
|
||||
fileitem=fileitem,
|
||||
target_item=new_diritem,
|
||||
target_diritem=new_diritem,
|
||||
total_size=total_size,
|
||||
need_scrape=need_scrape,
|
||||
need_notify=need_notify,
|
||||
transfer_type=transfer_type)
|
||||
|
||||
Reference in New Issue
Block a user