add alipan/115 move api
This commit is contained in:
parent
ef0cd7d5c5
commit
8df2955a67
@ -49,6 +49,8 @@ class AliyunHelper:
|
||||
rename_file_url = "https://api.aliyundrive.com/v3/file/update"
|
||||
# 获取下载链接
|
||||
download_url = "https://api.aliyundrive.com/v2/file/get_download_url"
|
||||
# 移动文件
|
||||
move_file_url = "https://api.aliyundrive.com/v3/file/move"
|
||||
|
||||
def __init__(self):
|
||||
self.systemconfig = SystemConfigOper()
|
||||
@ -373,13 +375,13 @@ class AliyunHelper:
|
||||
break
|
||||
return ret_items
|
||||
|
||||
def create_folder(self, parent_file_id: str, name: str) -> bool:
|
||||
def create_folder(self, parent_file_id: str, name: str) -> Optional[dict]:
|
||||
"""
|
||||
创建目录
|
||||
"""
|
||||
params = self.get_access_params()
|
||||
if not params:
|
||||
return False
|
||||
return None
|
||||
headers = self.get_headers(params)
|
||||
res = RequestUtils(headers=headers, timeout=10).post_res(self.create_folder_url, json={
|
||||
"drive_id": params.get("resourceDriveId"),
|
||||
@ -389,10 +391,28 @@ class AliyunHelper:
|
||||
"type": "folder"
|
||||
})
|
||||
if res:
|
||||
return True
|
||||
"""
|
||||
{
|
||||
"parent_file_id": "root",
|
||||
"type": "folder",
|
||||
"file_id": "6673f2c8a88344741bd64ad192d7512b92087719",
|
||||
"domain_id": "bj29",
|
||||
"drive_id": "39146740",
|
||||
"file_name": "test",
|
||||
"encrypt_mode": "none"
|
||||
}
|
||||
"""
|
||||
result = res.json()
|
||||
return {
|
||||
"file_id": result.get("file_id"),
|
||||
"drive_id": result.get("drive_id"),
|
||||
"parent_file_id": result.get("parent_file_id"),
|
||||
"type": result.get("type"),
|
||||
"name": result.get("file_name")
|
||||
}
|
||||
else:
|
||||
self.__handle_error(res, "创建目录")
|
||||
return False
|
||||
return None
|
||||
|
||||
def delete_file(self, file_id: str) -> bool:
|
||||
"""
|
||||
@ -467,3 +487,23 @@ class AliyunHelper:
|
||||
else:
|
||||
self.__handle_error(res, "获取下载链接")
|
||||
return None
|
||||
|
||||
def move(self, drive_id: str, file_id: str, target_id: str) -> bool:
|
||||
"""
|
||||
移动文件
|
||||
"""
|
||||
params = self.get_access_params()
|
||||
if not params:
|
||||
return False
|
||||
headers = self.get_headers(params)
|
||||
res = RequestUtils(headers=headers, timeout=10).post_res(self.move_file_url, json={
|
||||
"drive_id": drive_id,
|
||||
"file_id": file_id,
|
||||
"to_parent_file_id": target_id,
|
||||
"check_name_mode": "refuse"
|
||||
})
|
||||
if res:
|
||||
return True
|
||||
else:
|
||||
self.__handle_error(res, "移动文件")
|
||||
return False
|
||||
|
@ -9,7 +9,6 @@ from app.db.systemconfig_oper import SystemConfigOper
|
||||
from app.log import logger
|
||||
from app.schemas.types import SystemConfigKey
|
||||
from app.utils.singleton import Singleton
|
||||
from app.utils.system import SystemUtils
|
||||
|
||||
|
||||
class U115Helper(metaclass=Singleton):
|
||||
@ -136,18 +135,17 @@ class U115Helper(metaclass=Singleton):
|
||||
logger.error(f"浏览115文件失败:{str(e)}")
|
||||
return None
|
||||
|
||||
def create_folder(self, parent_file_id: str, name: str) -> bool:
|
||||
def create_folder(self, parent_file_id: str, name: str) -> Optional[File]:
|
||||
"""
|
||||
创建目录
|
||||
"""
|
||||
if not self.__init_cloud():
|
||||
return False
|
||||
return None
|
||||
try:
|
||||
self.cloud.storage().make_dir(parent_file_id, name)
|
||||
return True
|
||||
return self.cloud.storage().make_dir(parent_file_id, name)
|
||||
except Exception as e:
|
||||
logger.error(f"创建115目录失败:{str(e)}")
|
||||
return False
|
||||
return None
|
||||
|
||||
def delete_file(self, file_id: str) -> bool:
|
||||
"""
|
||||
@ -162,12 +160,6 @@ class U115Helper(metaclass=Singleton):
|
||||
logger.error(f"删除115文件失败:{str(e)}")
|
||||
return False
|
||||
|
||||
def get_file_detail(self, file_id: str) -> Optional[dict]:
|
||||
"""
|
||||
获取文件详情
|
||||
"""
|
||||
pass
|
||||
|
||||
def rename_file(self, file_id: str, name: str) -> bool:
|
||||
"""
|
||||
重命名文件
|
||||
@ -204,3 +196,16 @@ class U115Helper(metaclass=Singleton):
|
||||
except Exception as e:
|
||||
logger.error(f"获取115存储空间失败:{str(e)}")
|
||||
return None
|
||||
|
||||
def move(self, file_id: str, target_id: str) -> bool:
|
||||
"""
|
||||
移动文件
|
||||
"""
|
||||
if not self.__init_cloud():
|
||||
return False
|
||||
try:
|
||||
self.cloud.storage().move(file_id, target_id)
|
||||
return True
|
||||
except Exception as e:
|
||||
logger.error(f"移动115文件失败:{str(e)}")
|
||||
return False
|
||||
|
Loading…
x
Reference in New Issue
Block a user