mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
fix:在fork进程中执行文件整理
This commit is contained in:
@@ -130,15 +130,14 @@ class FileManagerModule(_ModuleBase):
|
|||||||
return None
|
return None
|
||||||
return storage_oper.support_transtype()
|
return storage_oper.support_transtype()
|
||||||
|
|
||||||
@staticmethod
|
def recommend_name(self, meta: MetaBase, mediainfo: MediaInfo) -> Optional[str]:
|
||||||
def recommend_name(meta: MetaBase, mediainfo: MediaInfo) -> Optional[str]:
|
|
||||||
"""
|
"""
|
||||||
获取重命名后的名称
|
获取重命名后的名称
|
||||||
:param meta: 元数据
|
:param meta: 元数据
|
||||||
:param mediainfo: 媒体信息
|
:param mediainfo: 媒体信息
|
||||||
:return: 重命名后的名称(含目录)
|
:return: 重命名后的名称(含目录)
|
||||||
"""
|
"""
|
||||||
handler = TransHandler()
|
handler = TransHandler(self._storage_schemas)
|
||||||
# 重命名格式
|
# 重命名格式
|
||||||
rename_format = settings.RENAME_FORMAT(mediainfo.type)
|
rename_format = settings.RENAME_FORMAT(mediainfo.type)
|
||||||
# 获取集信息
|
# 获取集信息
|
||||||
@@ -414,7 +413,7 @@ class FileManagerModule(_ModuleBase):
|
|||||||
:param target_oper: 目标存储操作对象
|
:param target_oper: 目标存储操作对象
|
||||||
:return: {path, target_path, message}
|
:return: {path, target_path, message}
|
||||||
"""
|
"""
|
||||||
handler = TransHandler()
|
handler = TransHandler(self._storage_schemas)
|
||||||
# 检查目录路径
|
# 检查目录路径
|
||||||
if fileitem.storage == "local" and not Path(fileitem.path).exists():
|
if fileitem.storage == "local" and not Path(fileitem.path).exists():
|
||||||
return TransferInfo(success=False,
|
return TransferInfo(success=False,
|
||||||
@@ -520,7 +519,7 @@ class FileManagerModule(_ModuleBase):
|
|||||||
获取对应媒体的媒体库文件列表
|
获取对应媒体的媒体库文件列表
|
||||||
:param mediainfo: 媒体信息
|
:param mediainfo: 媒体信息
|
||||||
"""
|
"""
|
||||||
handler = TransHandler()
|
handler = TransHandler(self._storage_schemas)
|
||||||
ret_fileitems = []
|
ret_fileitems = []
|
||||||
# 检查本地媒体库
|
# 检查本地媒体库
|
||||||
dest_dirs = DirectoryHelper().get_library_dirs()
|
dest_dirs = DirectoryHelper().get_library_dirs()
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ from app.core.meta import MetaBase
|
|||||||
from app.core.metainfo import MetaInfoPath
|
from app.core.metainfo import MetaInfoPath
|
||||||
from app.helper.directory import DirectoryHelper
|
from app.helper.directory import DirectoryHelper
|
||||||
from app.helper.message import TemplateHelper
|
from app.helper.message import TemplateHelper
|
||||||
from app.helper.module import ModuleHelper
|
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.modules.filemanager.storages import StorageBase
|
from app.modules.filemanager.storages import StorageBase
|
||||||
from app.schemas import TransferInfo, TmdbEpisode, TransferDirectoryConf, FileItem, TransferInterceptEventData, \
|
from app.schemas import TransferInfo, TmdbEpisode, TransferDirectoryConf, FileItem, TransferInterceptEventData, \
|
||||||
@@ -31,11 +30,7 @@ def _transfer_command_worker(args):
|
|||||||
:param args: 包含所有必要参数的元组
|
:param args: 包含所有必要参数的元组
|
||||||
"""
|
"""
|
||||||
# 解包参数
|
# 解包参数
|
||||||
(fileitem_dict, target_storage, target_file_str, transfer_type, result_queue) = args
|
(fileitem_dict, target_storage, target_file_str, transfer_type, storage_schemas, result_queue) = args
|
||||||
|
|
||||||
# 重新创建存储操作对象
|
|
||||||
storage_schemas = ModuleHelper.load('app.modules.filemanager.storages',
|
|
||||||
filter_func=lambda _, obj: hasattr(obj, 'schema') and obj.schema)
|
|
||||||
|
|
||||||
def __get_storage_oper(_storage: str, _func: Optional[str] = None) -> Optional[StorageBase]:
|
def __get_storage_oper(_storage: str, _func: Optional[str] = None) -> Optional[StorageBase]:
|
||||||
"""
|
"""
|
||||||
@@ -109,7 +104,8 @@ class TransHandler:
|
|||||||
|
|
||||||
inner_lock: Lock = Lock()
|
inner_lock: Lock = Lock()
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, storage_schemas: List[StorageBase]):
|
||||||
|
self.storage_schemas = storage_schemas
|
||||||
self.result = None
|
self.result = None
|
||||||
|
|
||||||
def __reset_result(self):
|
def __reset_result(self):
|
||||||
@@ -390,8 +386,7 @@ class TransHandler:
|
|||||||
finally:
|
finally:
|
||||||
self.result = None
|
self.result = None
|
||||||
|
|
||||||
@staticmethod
|
def __transfer_command(self, fileitem: FileItem, target_storage: str,
|
||||||
def __transfer_command(fileitem: FileItem, target_storage: str,
|
|
||||||
source_oper: StorageBase, target_oper: StorageBase,
|
source_oper: StorageBase, target_oper: StorageBase,
|
||||||
target_file: Path, transfer_type: str,
|
target_file: Path, transfer_type: str,
|
||||||
) -> Tuple[Optional[FileItem], str]:
|
) -> Tuple[Optional[FileItem], str]:
|
||||||
@@ -428,6 +423,7 @@ class TransHandler:
|
|||||||
target_storage,
|
target_storage,
|
||||||
str(target_file),
|
str(target_file),
|
||||||
transfer_type,
|
transfer_type,
|
||||||
|
self.storage_schemas,
|
||||||
result_queue
|
result_queue
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user