From 843faf61039729581e1cdae20a5a78fb5aa8e05e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=AF=E5=A4=A7=E4=BE=A0?= Date: Mon, 12 Jan 2026 22:00:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E6=95=B4=E7=90=86?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=97=A0=E6=B3=95=E6=98=BE=E7=A4=BA=E5=8E=9F?= =?UTF-8?q?=E7=9B=98=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/modules/filemanager/transhandler.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/modules/filemanager/transhandler.py b/app/modules/filemanager/transhandler.py index 44b9e269..8d568624 100644 --- a/app/modules/filemanager/transhandler.py +++ b/app/modules/filemanager/transhandler.py @@ -132,6 +132,15 @@ class TransHandler: return self.result.model_copy() else: new_path = target_path / fileitem.name + # 在整理目录前先尝试获取原盘大小,避免整理记录出现0字节的情况 + # TODO 当前只计算STREAM目录内的文件大小,如果需要精确则递归完整目录 + if stream_fileitem := source_oper.get_item( + Path(fileitem.path) / "BDMV" / "STREAM" + ): + fileitem.size = 0 + files = source_oper.list(stream_fileitem) or [] + for file in files: + fileitem.size += file.size # 整理目录 new_diritem, errmsg = self.__transfer_dir(fileitem=fileitem, mediainfo=mediainfo,