@@ -57,8 +57,8 @@ def _get_s3_client(self) -> Any:
5757 )
5858
5959 @override
60- def get_secure_key (self , key : str ) -> str :
61- parts = Path (key ).parts
60+ def get_name (self , name : str ) -> str :
61+ parts = Path (name ).parts
6262 safe_parts : list [str ] = []
6363
6464 for part in parts :
@@ -69,13 +69,13 @@ def get_secure_key(self, key: str) -> str:
6969 return str (safe_path )
7070
7171 @override
72- async def get_size (self , key : str ) -> int :
73- key = self .get_secure_key ( key )
72+ async def get_size (self , name : str ) -> int :
73+ name = self .get_name ( name )
7474
7575 async with self ._get_s3_client () as s3_client :
7676 try :
77- response = await s3_client .head_object (Bucket = self .bucket_name , Key = key )
78- return int (response .get ("ContentLength" , 0 ))
77+ res = await s3_client .head_object (Bucket = self .bucket_name , Key = name )
78+ return int (res .get ("ContentLength" , 0 ))
7979 except ClientError as e :
8080 code = e .response .get ("Error" , {}).get ("Code" )
8181 status = e .response .get ("ResponseMetadata" , {}).get ("HTTPStatusCode" )
@@ -85,39 +85,39 @@ async def get_size(self, key: str) -> int:
8585 raise
8686
8787 @override
88- async def get_url (self , key : str , expires_in : int = 3600 ) -> str :
88+ async def get_url (self , name : str ) -> str :
8989 if self .custom_domain :
90- return f"{ self ._http_scheme } ://{ self .custom_domain } /{ key } "
90+ return f"{ self ._http_scheme } ://{ self .custom_domain } /{ name } "
9191 elif self .querystring_auth :
9292 async with self ._get_s3_client () as s3_client :
93- params = {"Bucket" : self .bucket_name , "Key" : key }
93+ params = {"Bucket" : self .bucket_name , "Key" : name }
9494 return await s3_client .generate_presigned_url (
95- "get_object" , Params = params , ExpiresIn = expires_in
95+ "get_object" , Params = params
9696 )
9797 else :
98- url = f"{ self ._http_scheme } ://{ self .endpoint_url } /{ self .bucket_name } /{ key } "
98+ url = f"{ self ._http_scheme } ://{ self .endpoint_url } /{ self .bucket_name } /{ name } "
9999 return url
100100
101101 @override
102- async def upload (self , file : BinaryIO , key : str ) -> str :
103- key = self .get_secure_key ( key )
104- content_type , _ = mimetypes .guess_type (key )
102+ async def upload (self , file : BinaryIO , name : str ) -> str :
103+ name = self .get_name ( name )
104+ content_type , _ = mimetypes .guess_type (name )
105105 extra_args = {"ContentType" : content_type or "application/octet-stream" }
106106 if self .default_acl :
107107 extra_args ["ACL" ] = self .default_acl
108108
109109 async with self ._get_s3_client () as s3_client :
110110 file .seek (0 )
111111 await s3_client .put_object (
112- Bucket = self .bucket_name , Key = key , Body = file , ** extra_args
112+ Bucket = self .bucket_name , Key = name , Body = file , ** extra_args
113113 )
114- return key
114+ return name
115115
116116 @override
117- async def delete (self , key : str ) -> None :
117+ async def delete (self , name : str ) -> None :
118118 async with self ._get_s3_client () as s3_client :
119119 try :
120- await s3_client .delete_object (Bucket = self .bucket_name , Key = key )
120+ await s3_client .delete_object (Bucket = self .bucket_name , Key = name )
121121 except ClientError as e :
122122 if e .response .get ("Error" , {}).get ("Code" ) != "NoSuchKey" :
123123 raise
0 commit comments