From bd1e83ee8a093a461854c56a3fa3f433c0a07fbb Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 23 May 2024 08:53:20 +0800 Subject: [PATCH] fix --- app/chain/download.py | 20 +++++++++++++------- app/modules/filetransfer/__init__.py | 16 +++++++++++++--- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/app/chain/download.py b/app/chain/download.py index 8f254455..79523e4d 100644 --- a/app/chain/download.py +++ b/app/chain/download.py @@ -239,15 +239,21 @@ class DownloadChain(ChainBase): title="下载失败", role="system") return None - if (dir_info.category or dir_info.auto_category) and _media and _media.category: - # 开启下载二级目录 - download_dir = Path(dir_info.path) / _media.category - elif _media: - # 未开启下载二级目录 - download_dir = Path(dir_info.path) + # 一级目录 + if not dir_info.media_type and dir_info.auto_category: + # 一级自动分类 + download_dir = Path(dir_info.path) / _media.type.value + elif dir_info.media_type: + # 一级自定义分类 + download_dir = Path(dir_info.path) / dir_info.media_type else: - # 未识别 + # 一级不分类 download_dir = Path(dir_info.path) + + # 二级目录 + if (dir_info.category or dir_info.auto_category) and _media and _media.category: + # 二级目录自动分类 + download_dir = download_dir / _media.category else: # 自定义下载目录 download_dir = Path(save_path) diff --git a/app/modules/filetransfer/__init__.py b/app/modules/filetransfer/__init__.py index 40c21521..67050c7d 100644 --- a/app/modules/filetransfer/__init__.py +++ b/app/modules/filetransfer/__init__.py @@ -408,10 +408,20 @@ class FileTransferModule(_ModuleBase): :target_dir: 媒体库根目录 :typename_dir: 是否加上类型目录 """ - if target_dir.auto_category or target_dir.category: - return Path(target_dir.path) / mediainfo.category + if not target_dir.media_type and target_dir.auto_category: + # 一级自动分类 + download_dir = Path(target_dir.path) / mediainfo.type.value + elif target_dir.media_type: + # 一级自定义分类 + download_dir = Path(target_dir.path) / target_dir.media_type else: - return Path(target_dir.path) + download_dir = Path(target_dir.path) + + if (target_dir.category or target_dir.auto_category) and mediainfo.category: + # 二级自动分类 + download_dir = download_dir / mediainfo.category + + return download_dir def transfer_media(self, in_path: Path,