diff --git a/README.md b/README.md index d9bf4658..ad3c988b 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ docker pull jxxghp/moviepilot:latest - **DOWNLOAD_PATH:** 下载保存目录,**注意:需要将`moviepilot`及`下载器`的映射路径保持一致**,否则会导致下载文件无法转移 - **DOWNLOAD_MOVIE_PATH:** 电影下载保存目录,**必须是`DOWNLOAD_PATH`的下级路径**,不设置则下载到`DOWNLOAD_PATH` - **DOWNLOAD_TV_PATH:** 电视剧下载保存目录,**必须是`DOWNLOAD_PATH`的下级路径**,不设置则下载到`DOWNLOAD_PATH` +- **DOWNLOAD_ANIME_PATH:** 动漫下载保存目录,**必须是`DOWNLOAD_PATH`的下级路径**,不设置则下载到`DOWNLOAD_PATH` - **DOWNLOAD_CATEGORY:** 下载二级分类开关,`true`/`false`,默认`false`,开启后会根据配置`category.yaml`自动在下载目录下建立二级目录分类 - **DOWNLOAD_SUBTITLE:** 下载站点字幕,`true`/`false`,默认`true` - **REFRESH_MEDIASERVER:** 入库刷新媒体库,`true`/`false`,默认`true` @@ -71,6 +72,7 @@ docker pull jxxghp/moviepilot:latest - **LIBRARY_PATH:** 媒体库目录,多个目录使用`,`分隔 - **LIBRARY_MOVIE_NAME:** 电影媒体库目录名,默认`电影` - **LIBRARY_TV_NAME:** 电视剧媒体库目录名,默认`电视剧` +- **LIBRARY_ANIME_NAME:** 动漫媒体库目录名,默认`电视剧/动漫` - **LIBRARY_CATEGORY:** 媒体库二级分类开关,`true`/`false`,默认`false`,开启后会根据配置`category.yaml`自动在媒体库目录下建立二级目录分类 - **TRANSFER_TYPE:** 转移方式,支持`link`/`copy`/`move`/`softlink` **注意:在`link`和`softlink`转移方式下,转移后的文件会继承源文件的权限掩码,不受`UMASK`影响** - **COOKIECLOUD_HOST:** CookieCloud服务器地址,格式:`http://ip:port`,必须配置,否则无法添加站点 diff --git a/app/chain/download.py b/app/chain/download.py index 63bca8bd..0ec58973 100644 --- a/app/chain/download.py +++ b/app/chain/download.py @@ -113,12 +113,18 @@ class DownloadChain(ChainBase): if _media.type == MediaType.MOVIE: download_dir = Path(settings.DOWNLOAD_MOVIE_PATH or settings.DOWNLOAD_PATH) / _media.category else: - download_dir = Path(settings.DOWNLOAD_TV_PATH or settings.DOWNLOAD_PATH) / _media.category + if settings.DOWNLOAD_ANIME_PATH and _media.category and str(_media.category) == '动漫': + download_dir = Path(settings.DOWNLOAD_ANIME_PATH) + else: + download_dir = Path(settings.DOWNLOAD_TV_PATH or settings.DOWNLOAD_PATH) / _media.category elif _media: if _media.type == MediaType.MOVIE: download_dir = Path(settings.DOWNLOAD_MOVIE_PATH or settings.DOWNLOAD_PATH) else: - download_dir = Path(settings.DOWNLOAD_TV_PATH or settings.DOWNLOAD_PATH) + if settings.DOWNLOAD_ANIME_PATH and _media.category and str(_media.category) == '动漫': + download_dir = Path(settings.DOWNLOAD_ANIME_PATH) + else: + download_dir = Path(settings.DOWNLOAD_TV_PATH or settings.DOWNLOAD_PATH) else: download_dir = Path(settings.DOWNLOAD_PATH) else: diff --git a/app/core/config.py b/app/core/config.py index 33e3c9e4..c9ddc4ad 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -121,6 +121,8 @@ class Settings(BaseSettings): DOWNLOAD_MOVIE_PATH: str = None # 电视剧下载保存目录,容器内映射路径需要一致 DOWNLOAD_TV_PATH: str = None + # 动漫下载保存目录,容器内映射路径需要一致 + DOWNLOAD_ANIME_PATH: str = None # 下载目录二级分类 DOWNLOAD_CATEGORY: bool = False # 下载站点字幕 @@ -161,6 +163,8 @@ class Settings(BaseSettings): LIBRARY_MOVIE_NAME: str = None # 电视剧媒体库目录名,默认"电视剧" LIBRARY_TV_NAME: str = None + # 动漫媒体库目录名,默认"电视剧/动漫" + LIBRARY_ANIME_NAME: str = None # 二级分类 LIBRARY_CATEGORY: bool = True # 电影重命名格式 diff --git a/app/modules/filetransfer/__init__.py b/app/modules/filetransfer/__init__.py index ab22864a..8205df0d 100644 --- a/app/modules/filetransfer/__init__.py +++ b/app/modules/filetransfer/__init__.py @@ -354,7 +354,9 @@ class FileTransferModule(_ModuleBase): target_dir = target_dir / mediainfo.type.value / mediainfo.category if mediainfo.type == MediaType.TV: - if settings.LIBRARY_TV_NAME: + if settings.LIBRARY_ANIME_NAME: + target_dir = target_dir / settings.LIBRARY_ANIME_NAME + elif settings.LIBRARY_TV_NAME: target_dir = target_dir / settings.LIBRARY_TV_NAME / mediainfo.category else: # 目的目录加上类型和二级分类