fix #2184 手动选择下载/媒体库目录时尝试查找对应的配置并做分类(如果查询不到则不自动分类)

This commit is contained in:
jxxghp
2024-05-26 08:39:59 +08:00
parent 9ca8e3f4a8
commit 5f13824aa6
3 changed files with 53 additions and 32 deletions

View File

@ -35,10 +35,11 @@ class DirectoryHelper:
return []
return [schemas.MediaDirectory(**d) for d in dir_conf]
def get_download_dir(self, media: MediaInfo = None) -> Optional[schemas.MediaDirectory]:
def get_download_dir(self, media: MediaInfo = None, to_path: Path = None) -> Optional[schemas.MediaDirectory]:
"""
根据媒体信息获取下载目录
:param media: 媒体信息
:param to_path: 目标目录
"""
# 处理类型
if media:
@ -50,6 +51,9 @@ class DirectoryHelper:
for media_dir in media_dirs:
if not media_dir.path:
continue
# 有目标目录,但目标目录与当前目录不相等时不要
if to_path and Path(media_dir.path) != to_path:
continue
# 目录类型为全部的,符合条件
if not media_dir.media_type:
return media_dir
@ -62,11 +66,13 @@ class DirectoryHelper:
return None
def get_library_dir(self, media: MediaInfo = None, in_path: Path = None) -> Optional[schemas.MediaDirectory]:
def get_library_dir(self, media: MediaInfo = None, in_path: Path = None,
to_path: Path = None) -> Optional[schemas.MediaDirectory]:
"""
根据媒体信息获取媒体库目录,需判断是否同盘优先
:param media: 媒体信息
:param in_path: 源目录
:param to_path: 目标目录
"""
# 处理类型
if media:
@ -80,6 +86,9 @@ class DirectoryHelper:
for library_dir in library_dirs:
if not library_dir.path:
continue
# 有目标目录,但目标目录与当前目录不相等时不要
if to_path and Path(library_dir.path) != to_path:
continue
# 目录类型为全部的,符合条件
if not library_dir.media_type:
matched_dirs.append(library_dir)