mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 07:27:15 +08:00
fix 115网盘整理
This commit is contained in:
@@ -320,7 +320,7 @@ class FileManagerModule(_ModuleBase):
|
|||||||
fileitem=fileitem,
|
fileitem=fileitem,
|
||||||
message="未找到有效的媒体库目录")
|
message="未找到有效的媒体库目录")
|
||||||
|
|
||||||
logger.info(f"获取整理目标路径:{target_path}")
|
logger.info(f"获取整理目标路径:【{target_storage}】{target_path}")
|
||||||
# 整理
|
# 整理
|
||||||
return self.transfer_media(fileitem=fileitem,
|
return self.transfer_media(fileitem=fileitem,
|
||||||
in_meta=meta,
|
in_meta=meta,
|
||||||
@@ -377,7 +377,6 @@ class FileManagerModule(_ModuleBase):
|
|||||||
|
|
||||||
if (fileitem.storage != target_storage
|
if (fileitem.storage != target_storage
|
||||||
and fileitem.storage != "local" and target_storage != "local"):
|
and fileitem.storage != "local" and target_storage != "local"):
|
||||||
logger.error(f"不支持 {fileitem.storage} 到 {target_storage} 的文件整理")
|
|
||||||
return None, f"不支持 {fileitem.storage} 到 {target_storage} 的文件整理"
|
return None, f"不支持 {fileitem.storage} 到 {target_storage} 的文件整理"
|
||||||
|
|
||||||
# 源操作对象
|
# 源操作对象
|
||||||
@@ -385,7 +384,6 @@ class FileManagerModule(_ModuleBase):
|
|||||||
# 目的操作对象
|
# 目的操作对象
|
||||||
target_oper: StorageBase = self.__get_storage_oper(target_storage)
|
target_oper: StorageBase = self.__get_storage_oper(target_storage)
|
||||||
if not source_oper or not target_oper:
|
if not source_oper or not target_oper:
|
||||||
logger.error(f"不支持的存储类型:{fileitem.storage} 或 {target_storage}")
|
|
||||||
return None, f"不支持的存储类型:{fileitem.storage} 或 {target_storage}"
|
return None, f"不支持的存储类型:{fileitem.storage} 或 {target_storage}"
|
||||||
|
|
||||||
# 加锁
|
# 加锁
|
||||||
@@ -406,12 +404,11 @@ class FileManagerModule(_ModuleBase):
|
|||||||
if state:
|
if state:
|
||||||
return __get_targetitem(target_file), ""
|
return __get_targetitem(target_file), ""
|
||||||
else:
|
else:
|
||||||
return None, f"{fileitem.path} {transfer_type}失败"
|
return None, f"{fileitem.path} {transfer_type} 失败"
|
||||||
elif fileitem.storage == "local" and target_storage != "local":
|
elif fileitem.storage == "local" and target_storage != "local":
|
||||||
# 本地到网盘
|
# 本地到网盘
|
||||||
filepath = Path(fileitem.path)
|
filepath = Path(fileitem.path)
|
||||||
if not filepath.exists():
|
if not filepath.exists():
|
||||||
logger.error(f"文件 {filepath} 不存在")
|
|
||||||
return None, f"文件 {filepath} 不存在"
|
return None, f"文件 {filepath} 不存在"
|
||||||
if transfer_type == "copy":
|
if transfer_type == "copy":
|
||||||
# 复制
|
# 复制
|
||||||
@@ -606,10 +603,10 @@ class FileManagerModule(_ModuleBase):
|
|||||||
target_file=new_file,
|
target_file=new_file,
|
||||||
transfer_type=transfer_type)
|
transfer_type=transfer_type)
|
||||||
if new_item:
|
if new_item:
|
||||||
logger.info(f"字幕 {sub_item.name} {transfer_type}完成")
|
logger.info(f"字幕 {sub_item.name} 整理完成")
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
logger.error(f"字幕 {sub_item.name} {transfer_type}失败:{errmsg}")
|
logger.error(f"字幕 {sub_item.name} 整理失败:{errmsg}")
|
||||||
return False, errmsg
|
return False, errmsg
|
||||||
except Exception as error:
|
except Exception as error:
|
||||||
logger.info(f"字幕 {new_file} 出错了,原因: {str(error)}")
|
logger.info(f"字幕 {new_file} 出错了,原因: {str(error)}")
|
||||||
@@ -637,7 +634,6 @@ class FileManagerModule(_ModuleBase):
|
|||||||
pending_file_list: List[FileItem] = [file for file in file_list if Path(file.name).stem == org_path.name
|
pending_file_list: List[FileItem] = [file for file in file_list if Path(file.name).stem == org_path.name
|
||||||
and f".{file.extension.lower()}" in settings.RMT_AUDIOEXT]
|
and f".{file.extension.lower()}" in settings.RMT_AUDIOEXT]
|
||||||
if len(pending_file_list) == 0:
|
if len(pending_file_list) == 0:
|
||||||
logger.debug(f"{dir_name} 目录下没有找到匹配的音轨文件")
|
|
||||||
return True, f"{dir_name} 目录下没有找到匹配的音轨文件"
|
return True, f"{dir_name} 目录下没有找到匹配的音轨文件"
|
||||||
logger.debug("音轨文件清单:" + str(pending_file_list))
|
logger.debug("音轨文件清单:" + str(pending_file_list))
|
||||||
for track_file in pending_file_list:
|
for track_file in pending_file_list:
|
||||||
@@ -650,11 +646,11 @@ class FileManagerModule(_ModuleBase):
|
|||||||
target_file=new_track_file,
|
target_file=new_track_file,
|
||||||
transfer_type=transfer_type)
|
transfer_type=transfer_type)
|
||||||
if new_item:
|
if new_item:
|
||||||
logger.info(f"音轨文件 {file_name} {transfer_type}完成")
|
logger.info(f"音轨文件 {file_name} 整理完成")
|
||||||
else:
|
else:
|
||||||
logger.error(f"音轨文件 {file_name} {transfer_type}失败:{errmsg}")
|
logger.error(f"音轨文件 {file_name} 整理失败:{errmsg}")
|
||||||
except Exception as error:
|
except Exception as error:
|
||||||
logger.error(f"音轨文件 {file_name} {transfer_type}失败:{str(error)}")
|
logger.error(f"音轨文件 {file_name} 整理失败:{str(error)}")
|
||||||
return True, ""
|
return True, ""
|
||||||
|
|
||||||
def __transfer_dir(self, fileitem: FileItem, transfer_type: str,
|
def __transfer_dir(self, fileitem: FileItem, transfer_type: str,
|
||||||
@@ -669,13 +665,11 @@ class FileManagerModule(_ModuleBase):
|
|||||||
# 获取目标目录
|
# 获取目标目录
|
||||||
target_oper: StorageBase = self.__get_storage_oper(target_storage)
|
target_oper: StorageBase = self.__get_storage_oper(target_storage)
|
||||||
if not target_oper:
|
if not target_oper:
|
||||||
logger.error(f"不支持到 {target_storage} 的文件整理")
|
|
||||||
return None, f"不支持的文件存储:{target_storage}"
|
return None, f"不支持的文件存储:{target_storage}"
|
||||||
|
|
||||||
logger.info(f"正在{transfer_type}目录:{fileitem.path} 到 {target_path}")
|
logger.info(f"正在整理目录:{fileitem.path} 到 {target_path}")
|
||||||
target_item = target_oper.get_folder(target_path)
|
target_item = target_oper.get_folder(target_path)
|
||||||
if not target_item:
|
if not target_item:
|
||||||
logger.info(f"获取目标目录失败:{target_path}")
|
|
||||||
return None, f"获取目标目录失败:{target_path}"
|
return None, f"获取目标目录失败:{target_path}"
|
||||||
# 处理所有文件
|
# 处理所有文件
|
||||||
state, errmsg = self.__transfer_dir_files(fileitem=fileitem,
|
state, errmsg = self.__transfer_dir_files(fileitem=fileitem,
|
||||||
@@ -683,10 +677,8 @@ class FileManagerModule(_ModuleBase):
|
|||||||
target_path=target_path,
|
target_path=target_path,
|
||||||
transfer_type=transfer_type)
|
transfer_type=transfer_type)
|
||||||
if state:
|
if state:
|
||||||
logger.info(f"文件 {fileitem.path} {transfer_type}完成")
|
|
||||||
return target_item, errmsg
|
return target_item, errmsg
|
||||||
else:
|
else:
|
||||||
logger.error(f"文件{fileitem.path} {transfer_type}失败:{errmsg}")
|
|
||||||
return None, errmsg
|
return None, errmsg
|
||||||
|
|
||||||
def __transfer_dir_files(self, fileitem: FileItem, transfer_type: str,
|
def __transfer_dir_files(self, fileitem: FileItem, transfer_type: str,
|
||||||
@@ -750,7 +742,6 @@ class FileManagerModule(_ModuleBase):
|
|||||||
target_file=target_file,
|
target_file=target_file,
|
||||||
transfer_type=transfer_type)
|
transfer_type=transfer_type)
|
||||||
if new_item:
|
if new_item:
|
||||||
logger.debug(f"文件 {fileitem.path} {transfer_type}完成")
|
|
||||||
# 处理其他相关文件
|
# 处理其他相关文件
|
||||||
self.__transfer_other_files(fileitem=fileitem,
|
self.__transfer_other_files(fileitem=fileitem,
|
||||||
target_storage=target_storage,
|
target_storage=target_storage,
|
||||||
@@ -758,7 +749,6 @@ class FileManagerModule(_ModuleBase):
|
|||||||
transfer_type=transfer_type)
|
transfer_type=transfer_type)
|
||||||
return new_item, errmsg
|
return new_item, errmsg
|
||||||
|
|
||||||
logger.error(f"文件 {fileitem.path} {transfer_type}失败:{errmsg}")
|
|
||||||
return None, errmsg
|
return None, errmsg
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|||||||
@@ -340,10 +340,11 @@ class U115Pan(StorageBase, metaclass=Singleton):
|
|||||||
logger.warn(f"115请求上传出错")
|
logger.warn(f"115请求上传出错")
|
||||||
return None
|
return None
|
||||||
elif ticket.is_done:
|
elif ticket.is_done:
|
||||||
logger.warn(f"115请求上传失败:文件已存在")
|
file_path = Path(fileitem.path) / path.name
|
||||||
return None
|
logger.warn(f"115上传:{file_path} 文件已存在")
|
||||||
|
return self.get_item(file_path)
|
||||||
else:
|
else:
|
||||||
auth = oss2.Auth(**ticket.oss_token)
|
auth = oss2.StsAuth(**ticket.oss_token)
|
||||||
bucket = oss2.Bucket(
|
bucket = oss2.Bucket(
|
||||||
auth=auth,
|
auth=auth,
|
||||||
endpoint=ticket.oss_endpoint,
|
endpoint=ticket.oss_endpoint,
|
||||||
@@ -356,18 +357,19 @@ class U115Pan(StorageBase, metaclass=Singleton):
|
|||||||
)
|
)
|
||||||
result = por.resp.response.json()
|
result = por.resp.response.json()
|
||||||
if result:
|
if result:
|
||||||
fileitem = result.get('data')
|
result_data = result.get('data')
|
||||||
logger.info(f"115上传文件成功:{fileitem}")
|
logger.info(f"115上传文件成功:{result_data.get('file_name')}")
|
||||||
return schemas.FileItem(
|
return schemas.FileItem(
|
||||||
storage=self.schema.value,
|
storage=self.schema.value,
|
||||||
fileid=fileitem.get('file_id'),
|
fileid=result_data.get('file_id'),
|
||||||
parent_fileid=fileitem.fileid,
|
parent_fileid=fileitem.fileid,
|
||||||
type="file",
|
type="file",
|
||||||
name=fileitem.get('file_name'),
|
name=result_data.get('file_name'),
|
||||||
path=f"{fileitem.path}{fileitem.get('file_name')}",
|
basename=Path(result_data.get('file_name')).stem,
|
||||||
size=fileitem.get('file_size'),
|
path=f"{fileitem.path}{result_data.get('file_name')}",
|
||||||
extension=Path(fileitem.get('file_name')).suffix[1:],
|
size=result_data.get('file_size'),
|
||||||
pickcode=fileitem.get('pickcode')
|
extension=Path(result_data.get('file_name')).suffix[1:],
|
||||||
|
pickcode=result_data.get('pickcode')
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
logger.warn(f"115上传文件失败:{por.resp.response.text}")
|
logger.warn(f"115上传文件失败:{por.resp.response.text}")
|
||||||
|
|||||||
+1
-1
@@ -59,6 +59,6 @@ pystray~=0.19.5
|
|||||||
pyotp~=2.9.0
|
pyotp~=2.9.0
|
||||||
Pinyin2Hanzi~=0.1.1
|
Pinyin2Hanzi~=0.1.1
|
||||||
pywebpush~=2.0.0
|
pywebpush~=2.0.0
|
||||||
py115j~=0.0.6
|
py115j~=0.0.7
|
||||||
oss2~=2.18.6
|
oss2~=2.18.6
|
||||||
aligo~=6.2.4
|
aligo~=6.2.4
|
||||||
+1
-1
@@ -164,7 +164,7 @@ psutil==5.9.8
|
|||||||
# via -r requirements.in
|
# via -r requirements.in
|
||||||
py-vapid==1.9.1
|
py-vapid==1.9.1
|
||||||
# via pywebpush
|
# via pywebpush
|
||||||
py115j==0.0.6
|
py115j==0.0.7
|
||||||
# via -r requirements.in
|
# via -r requirements.in
|
||||||
pycparser==2.22
|
pycparser==2.22
|
||||||
# via cffi
|
# via cffi
|
||||||
|
|||||||
Reference in New Issue
Block a user