From fcc7367bd6f0c1fd9d53f76b952ecd18ac0db4e4 Mon Sep 17 00:00:00 2001 From: foyou Date: Thu, 6 Feb 2025 11:50:25 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=96=87=E4=BB=B6=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/aligo/apis/CustomShare.py | 22 ++++++++++++---------- src/aligo/core/Download.py | 2 +- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/aligo/apis/CustomShare.py b/src/aligo/apis/CustomShare.py index d7fa664..2666031 100644 --- a/src/aligo/apis/CustomShare.py +++ b/src/aligo/apis/CustomShare.py @@ -4,7 +4,8 @@ from typing import List, Dict from aligo.core import Core -from aligo.request import GetFileListRequest, GetFileRequest, CreateFolderRequest +from aligo.request import CreateFolderRequest +from aligo.request import GetFileRequest, GetFileListRequest, GetDownloadUrlRequest from aligo.types import BaseFile from aligo.types.Enum import CheckNameMode @@ -14,8 +15,7 @@ class CustomShare(Core): _ALIGO_SHARE_SCHEMA = 'aligo://' - @staticmethod - def __share_files_by_aligo(files: List[BaseFile]) -> List: + def __share_files_by_aligo(self, files: List[BaseFile]) -> List: """...""" result = [] for file in files: @@ -23,12 +23,15 @@ def __share_files_by_aligo(files: List[BaseFile]) -> List: 'name': file.name, 'content_hash': file.content_hash, 'size': file.size, - 'url': file.download_url or file.url + 'url': file.download_url or self._core_get_download_url(GetDownloadUrlRequest( + file_id=file.file_id, + drive_id=file.drive_id, + file_name=file.name, + )).url }) return result - @staticmethod - def share_file_by_aligo(file: BaseFile) -> str: + def share_file_by_aligo(self, file: BaseFile) -> str: """ 自定义分享文件 :param file: [BaseFile] 分享文件(BaseFile对象) @@ -44,11 +47,10 @@ def share_file_by_aligo(file: BaseFile) -> str: >>> result = ali.share_file_by_aligo(file) >>> print(result) """ - result = CustomShare.__share_files_by_aligo([file]) + result = self.__share_files_by_aligo([file]) return CustomShare._ALIGO_SHARE_SCHEMA + base64.b64encode(json.dumps(result).encode()).decode() - @staticmethod - def share_files_by_aligo(files: List[BaseFile]) -> str: + def share_files_by_aligo(self, files: List[BaseFile]) -> str: """ 自定义分享文件 :param files: [List[BaseFile]] 分享文件列表(BaseFile对象列表) @@ -64,7 +66,7 @@ def share_files_by_aligo(files: List[BaseFile]) -> str: >>> result = ali.share_files_by_aligo(files) >>> print(result) """ - result = CustomShare.__share_files_by_aligo(files) + result = self.__share_files_by_aligo(files) return CustomShare._ALIGO_SHARE_SCHEMA + base64.b64encode(json.dumps(result).encode()).decode() def __share_folder_by_aligo(self, parent_file_id: str, drive_id: str = None) -> List: diff --git a/src/aligo/core/Download.py b/src/aligo/core/Download.py index 72cfd83..eed73ea 100644 --- a/src/aligo/core/Download.py +++ b/src/aligo/core/Download.py @@ -134,7 +134,7 @@ def download_files(self, files: List[BaseFile], local_folder: str = '.') -> List file_path = os.path.join(local_folder, file.name) file_path = self._core_download_file( file_path, - file.download_url or file.url or self._core_get_download_url(GetDownloadUrlRequest( + file.download_url or self._core_get_download_url(GetDownloadUrlRequest( file_id=file.file_id, drive_id=file.drive_id, file_name=file.name,