mirror of
https://github.com/Cp0204/quark-auto-save.git
synced 2026-01-19 19:49:36 +08:00
Compare commits
No commits in common. "8e59d338bc328d5abe7b8146bbd4bbd1303aef09" and "5bc9ec6349689d20bad12807e0e8c8b0478c5a30" have entirely different histories.
8e59d338bc
...
5bc9ec6349
@ -1571,58 +1571,8 @@ class Quark:
|
|||||||
break
|
break
|
||||||
if len(file_list) >= response["metadata"]["_total"]:
|
if len(file_list) >= response["metadata"]["_total"]:
|
||||||
break
|
break
|
||||||
|
|
||||||
# 修复文件夹大小显示问题:当include_items字段不存在时,通过额外API调用获取
|
|
||||||
file_list = self._fix_folder_sizes(file_list)
|
|
||||||
|
|
||||||
return file_list
|
return file_list
|
||||||
|
|
||||||
def _fix_folder_sizes(self, file_list):
|
|
||||||
"""
|
|
||||||
修复文件夹大小显示问题
|
|
||||||
当include_items字段不存在时,通过额外API调用获取文件夹项目数量
|
|
||||||
"""
|
|
||||||
if not isinstance(file_list, list):
|
|
||||||
return file_list
|
|
||||||
|
|
||||||
for item in file_list:
|
|
||||||
if item.get("dir", False) and "include_items" not in item:
|
|
||||||
folder_id = item.get("fid")
|
|
||||||
if folder_id:
|
|
||||||
# 获取文件夹项目数量
|
|
||||||
item_count = self._get_folder_item_count(folder_id)
|
|
||||||
item["include_items"] = item_count
|
|
||||||
|
|
||||||
return file_list
|
|
||||||
|
|
||||||
def _get_folder_item_count(self, folder_id):
|
|
||||||
"""
|
|
||||||
获取文件夹项目数量
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
url = f"{self.BASE_URL}/1/clouddrive/file/sort"
|
|
||||||
querystring = {
|
|
||||||
"pr": "ucpro",
|
|
||||||
"fr": "pc",
|
|
||||||
"uc_param_str": "",
|
|
||||||
"pdir_fid": folder_id,
|
|
||||||
"_page": 1,
|
|
||||||
"_size": 1, # 只获取第一页,用于获取总数
|
|
||||||
"_fetch_total": "1",
|
|
||||||
"_fetch_sub_dirs": "0",
|
|
||||||
"_sort": "file_type:asc,updated_at:desc",
|
|
||||||
"_fetch_full_path": 0,
|
|
||||||
}
|
|
||||||
|
|
||||||
response = self._send_request("GET", url, params=querystring).json()
|
|
||||||
if response.get("code") == 0:
|
|
||||||
metadata = response.get("metadata", {})
|
|
||||||
return metadata.get("_total", 0)
|
|
||||||
else:
|
|
||||||
return 0
|
|
||||||
except Exception:
|
|
||||||
return 0
|
|
||||||
|
|
||||||
def get_paths(self, folder_id):
|
def get_paths(self, folder_id):
|
||||||
"""
|
"""
|
||||||
获取指定文件夹ID的完整路径信息
|
获取指定文件夹ID的完整路径信息
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user