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"
|
rename_file_url = "https://api.aliyundrive.com/v3/file/update"
|
||||||
# 获取下载链接
|
# 获取下载链接
|
||||||
download_url = "https://api.aliyundrive.com/v2/file/get_download_url"
|
download_url = "https://api.aliyundrive.com/v2/file/get_download_url"
|
||||||
|
# 移动文件
|
||||||
|
move_file_url = "https://api.aliyundrive.com/v3/file/move"
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.systemconfig = SystemConfigOper()
|
self.systemconfig = SystemConfigOper()
|
||||||
@ -373,13 +375,13 @@ class AliyunHelper:
|
|||||||
break
|
break
|
||||||
return ret_items
|
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()
|
params = self.get_access_params()
|
||||||
if not params:
|
if not params:
|
||||||
return False
|
return None
|
||||||
headers = self.get_headers(params)
|
headers = self.get_headers(params)
|
||||||
res = RequestUtils(headers=headers, timeout=10).post_res(self.create_folder_url, json={
|
res = RequestUtils(headers=headers, timeout=10).post_res(self.create_folder_url, json={
|
||||||
"drive_id": params.get("resourceDriveId"),
|
"drive_id": params.get("resourceDriveId"),
|
||||||
@ -389,10 +391,28 @@ class AliyunHelper:
|
|||||||
"type": "folder"
|
"type": "folder"
|
||||||
})
|
})
|
||||||
if res:
|
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:
|
else:
|
||||||
self.__handle_error(res, "创建目录")
|
self.__handle_error(res, "创建目录")
|
||||||
return False
|
return None
|
||||||
|
|
||||||
def delete_file(self, file_id: str) -> bool:
|
def delete_file(self, file_id: str) -> bool:
|
||||||
"""
|
"""
|
||||||
@ -467,3 +487,23 @@ class AliyunHelper:
|
|||||||
else:
|
else:
|
||||||
self.__handle_error(res, "获取下载链接")
|
self.__handle_error(res, "获取下载链接")
|
||||||
return None
|
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.log import logger
|
||||||
from app.schemas.types import SystemConfigKey
|
from app.schemas.types import SystemConfigKey
|
||||||
from app.utils.singleton import Singleton
|
from app.utils.singleton import Singleton
|
||||||
from app.utils.system import SystemUtils
|
|
||||||
|
|
||||||
|
|
||||||
class U115Helper(metaclass=Singleton):
|
class U115Helper(metaclass=Singleton):
|
||||||
@ -136,18 +135,17 @@ class U115Helper(metaclass=Singleton):
|
|||||||
logger.error(f"浏览115文件失败:{str(e)}")
|
logger.error(f"浏览115文件失败:{str(e)}")
|
||||||
return None
|
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():
|
if not self.__init_cloud():
|
||||||
return False
|
return None
|
||||||
try:
|
try:
|
||||||
self.cloud.storage().make_dir(parent_file_id, name)
|
return self.cloud.storage().make_dir(parent_file_id, name)
|
||||||
return True
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"创建115目录失败:{str(e)}")
|
logger.error(f"创建115目录失败:{str(e)}")
|
||||||
return False
|
return None
|
||||||
|
|
||||||
def delete_file(self, file_id: str) -> bool:
|
def delete_file(self, file_id: str) -> bool:
|
||||||
"""
|
"""
|
||||||
@ -162,12 +160,6 @@ class U115Helper(metaclass=Singleton):
|
|||||||
logger.error(f"删除115文件失败:{str(e)}")
|
logger.error(f"删除115文件失败:{str(e)}")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def get_file_detail(self, file_id: str) -> Optional[dict]:
|
|
||||||
"""
|
|
||||||
获取文件详情
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
def rename_file(self, file_id: str, name: str) -> bool:
|
def rename_file(self, file_id: str, name: str) -> bool:
|
||||||
"""
|
"""
|
||||||
重命名文件
|
重命名文件
|
||||||
@ -204,3 +196,16 @@ class U115Helper(metaclass=Singleton):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"获取115存储空间失败:{str(e)}")
|
logger.error(f"获取115存储空间失败:{str(e)}")
|
||||||
return None
|
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