feat:阿里云盘支持备份盘
This commit is contained in:
@ -87,10 +87,11 @@ def list_aliyun(fileitem: schemas.FileItem,
|
||||
size=fileinfo.get("size"),
|
||||
extension=fileinfo.get("file_extension"),
|
||||
modify_time=StringUtils.str_to_timestamp(fileinfo.get("updated_at")),
|
||||
thumbnail=fileinfo.get("thumbnail")
|
||||
thumbnail=fileinfo.get("thumbnail"),
|
||||
drive_id=fileinfo.get("drive_id"),
|
||||
)]
|
||||
return []
|
||||
items = AliyunHelper().list_files(parent_file_id=fileitem.fileid, order_by=sort)
|
||||
items = AliyunHelper().list_files(drive_id=fileitem.drive_id, parent_file_id=fileitem.fileid, order_by=sort)
|
||||
if not items:
|
||||
return []
|
||||
return [schemas.FileItem(
|
||||
@ -102,7 +103,8 @@ def list_aliyun(fileitem: schemas.FileItem,
|
||||
size=item.get("size"),
|
||||
extension=item.get("file_extension"),
|
||||
modify_time=StringUtils.str_to_timestamp(item.get("updated_at")),
|
||||
thumbnail=item.get("thumbnail")
|
||||
thumbnail=item.get("thumbnail"),
|
||||
drive_id=item.get("drive_id"),
|
||||
) for item in items]
|
||||
|
||||
|
||||
|
@ -304,7 +304,7 @@ class AliyunHelper:
|
||||
self.__handle_error(res, "获取用户信息")
|
||||
return {}
|
||||
|
||||
def list_files(self, parent_file_id: str = 'root', list_type: str = None,
|
||||
def list_files(self, drive_id: str = None, parent_file_id: str = 'root', list_type: str = None,
|
||||
limit: int = 100, order_by: str = 'updated_at') -> List[dict]:
|
||||
"""
|
||||
浏览文件
|
||||
@ -316,17 +316,36 @@ class AliyunHelper:
|
||||
params = self.get_access_params()
|
||||
if not params:
|
||||
return []
|
||||
# 最终返回数据
|
||||
ret_items = []
|
||||
# 请求头
|
||||
headers = self.get_headers(params)
|
||||
# 根目录处理
|
||||
if not drive_id:
|
||||
return [
|
||||
{
|
||||
"file_id": parent_file_id,
|
||||
"drive_id": params.get("resourceDriveId"),
|
||||
"parent_file_id": "root",
|
||||
"type": "folder",
|
||||
"path": "/资源库/",
|
||||
"name": "资源库",
|
||||
}, {
|
||||
"file_id": parent_file_id,
|
||||
"drive_id": params.get("backDriveId"),
|
||||
"parent_file_id": "root",
|
||||
"type": "folder",
|
||||
"path": "/备份盘/",
|
||||
"name": "备份盘",
|
||||
}
|
||||
]
|
||||
# 返回数据
|
||||
ret_items = []
|
||||
# 分页获取
|
||||
next_marker = None
|
||||
while True:
|
||||
if not parent_file_id or parent_file_id == "/":
|
||||
parent_file_id = "root"
|
||||
res = RequestUtils(headers=headers, timeout=10).post_res(self.list_file_url, json={
|
||||
"drive_id": params.get("resourceDriveId"),
|
||||
"drive_id": drive_id,
|
||||
"type": list_type,
|
||||
"limit": limit,
|
||||
"order_by": order_by,
|
||||
|
@ -28,3 +28,5 @@ class FileItem(BaseModel):
|
||||
thumbnail: Optional[str] = None
|
||||
# 115 pickcode
|
||||
pickcode: Optional[str] = None
|
||||
# drive_id
|
||||
drive_id: Optional[str] = None
|
||||
|
Reference in New Issue
Block a user