1818
1919class File :
2020 def __init__ (
21- self , file : TemporaryUploadedFile | InMemoryUploadedFile , quality : int = 70
21+ self ,
22+ file_obj : TemporaryUploadedFile | InMemoryUploadedFile ,
23+ quality : int = 70 ,
2224 ):
23- self .size = file .size
24- self .name = File ._get_name (file )
25- self .extension = File ._get_extension (file )
26- self .buffer = file .open (mode = "rb" )
27- self .content_type = file .content_type
25+ self .size = file_obj .size
26+ self .name = File ._get_name (file_obj )
27+ self .extension = File ._get_extension (file_obj )
28+ self .buffer = file_obj .open (mode = "rb" )
29+ self .content_type = file_obj .content_type
2830
2931 # we can compress given type of image
3032 if self .content_type in SUPPORTED_IMAGES_TYPES :
31- webp_image = convert_image_to_webp (file , quality )
33+ webp_image = convert_image_to_webp (file_obj , quality )
3234 self .buffer = webp_image .buffer ()
3335 self .size = webp_image .size
3436 self .content_type = "image/webp"
3537 self .extension = "webp"
3638
3739 @staticmethod
38- def _get_name (file ) -> str :
39- name_parts = file .name .split ("." )
40- if len (name_parts ) == 1 :
41- return name_parts [0 ]
42- return "." .join (name_parts [:- 1 ])
40+ def _get_name (file_obj ) -> str :
41+ file_name_parts = file_obj .name .split ("." )
42+ if len (file_name_parts ) == 1 :
43+ return file_name_parts [0 ]
44+ return "." .join (file_name_parts [:- 1 ])
4345
4446 @staticmethod
45- def _get_extension (file ) -> str :
46- if len (file .name .split ("." )) > 1 :
47- return file .name .split ("." )[- 1 ]
47+ def _get_extension (file_obj ) -> str :
48+ file_name_parts = file_obj .name .split ("." )
49+ if len (file_name_parts ) > 1 :
50+ return file_name_parts [- 1 ]
4851 return ""
4952
5053
@@ -54,7 +57,7 @@ def delete(self, url: str) -> Response:
5457 pass
5558
5659 @abstractmethod
57- def upload (self , file : File , user : User ) -> FileInfo :
60+ def upload (self , file_obj : File , user : User ) -> FileInfo :
5861 pass
5962
6063
@@ -63,32 +66,32 @@ def delete(self, url: str) -> Response:
6366 token = self ._get_auth_token ()
6467 return requests .delete (url , headers = {"X-Auth-Token" : token })
6568
66- def upload (self , file : File , user : User ) -> FileInfo :
67- url = self ._upload (file , user )
69+ def upload (self , file_obj : File , user : User ) -> FileInfo :
70+ url = self ._upload (file_obj , user )
6871 return FileInfo (
6972 url = url ,
70- name = file .name ,
71- extension = file .extension ,
72- mime_type = file .content_type ,
73- size = file .size ,
73+ name = file_obj .name ,
74+ extension = file_obj .extension ,
75+ mime_type = file_obj .content_type ,
76+ size = file_obj .size ,
7477 )
7578
76- def _upload (self , file : File , user : User ) -> str :
79+ def _upload (self , file_obj : File , user : User ) -> str :
7780 token = self ._get_auth_token ()
78- url = self ._generate_url (file , user )
81+ url = self ._generate_url (file_obj , user )
7982
8083 requests .put (
8184 url ,
8285 headers = {
8386 "X-Auth-Token" : token ,
84- "Content-Type" : file .content_type ,
87+ "Content-Type" : file_obj .content_type ,
8588 },
86- data = file .buffer ,
89+ data = file_obj .buffer ,
8790 )
8891
8992 return url
9093
91- def _generate_url (self , file : File , user : User ) -> str :
94+ def _generate_url (self , file_obj : File , user : User ) -> str :
9295 """
9396 Generates url for selcdn
9497 Returns:
@@ -97,9 +100,9 @@ def _generate_url(self, file: File, user: User) -> str:
97100 return (
98101 f"{ SELECTEL_SWIFT_URL } "
99102 f"{ abs (hash (user .email ))} "
100- f"/{ abs (hash (file .name ))} "
103+ f"/{ abs (hash (file_obj .name ))} "
101104 f"_{ abs (hash (time .time ()))} "
102- f".{ file .extension } "
105+ f".{ file_obj .extension } "
103106 )
104107
105108 @staticmethod
@@ -138,8 +141,8 @@ def delete(self, url: str) -> Response:
138141
139142 def upload (
140143 self ,
141- file : TemporaryUploadedFile | InMemoryUploadedFile ,
144+ file_obj : TemporaryUploadedFile | InMemoryUploadedFile ,
142145 user : User ,
143146 quality : int = 70 ,
144147 ) -> FileInfo :
145- return self .storage .upload (File (file , quality ), user )
148+ return self .storage .upload (File (file_obj , quality ), user )
0 commit comments