1111
1212
1313class File :
14- FAMILY = "content "
14+ FAMILY = "v3 "
1515 interface = RequestInterface (family = FAMILY )
1616
1717 class Item (APIResponseItem ):
1818 def __init__ (self , response : dict ) -> None :
1919 super ().__init__ (response )
2020 self .file_id = response ["fileId" ]
2121 self .file_name = response ["fileName" ]
22- self .url = response .get ("url" , None )
23- self .created_by = response ["createdBy" ]
24- self .last_modified = response .get ("lastModified" , None )
25- self .file_type_id = response ["fileTypeId" ]
26- self .category_id = response .get ("categoryId" , None )
27- self .size = response ["size" ]
28- self .created_at = response ["createdAt" ]
29- self .status = response ["status" ]
22+ self .folder_id = response ["folderId" ]
23+ self .content_type = response ["mimeType" ]
3024
3125 def download (self , fileName : str , path : str = "./" ) -> None :
3226 if not fileName :
@@ -61,27 +55,20 @@ def create(
6155 if not file_name :
6256 raise Exception ("Please supply a valid file name" )
6357
64- if not folder_id :
65- Folder .get_root ().data ["folders" ]["folderId" ]
66-
67- category_id = File .get_category_id_by_name (category )
68-
6958 payload = {
7059 "fileName" : file_name ,
7160 "folderId" : folder_id ,
72- "categoryId" : category_id ,
7361 }
7462
63+ if category :
64+ payload ["categoryId" ] = File .get_category_id_by_name (category )
65+
7566 r = File .interface .send_request (
7667 rtype = RequestTypes .POST ,
7768 route = "file/create-upload-url" ,
7869 json = payload ,
79- overwrite_base_url = "https://v2.api.audio/v3" ,
8070 )
81- response = APIResponseItem (r )
82- url = response .data ["uploadUrl" ]
83-
84- File .interface .send_upload_request (local_path = local_path , upload_url = url )
71+ File .interface .send_upload_request (local_path = local_path , upload_url = r ["uploadUrl" ], mime_type = r ["mimeType" ])
8572 return File .Item (r )
8673
8774 @staticmethod
@@ -99,7 +86,6 @@ def modify(
9986 rtype = RequestTypes .PATCH ,
10087 route = f"file/{ file_id } " ,
10188 json = payload ,
102- overwrite_base_url = "https://v2.api.audio/v3" ,
10389 )
10490 return File .Item (r )
10591
@@ -108,7 +94,6 @@ def get(file_id: str) -> Item:
10894 r = File .interface .send_request (
10995 rtype = RequestTypes .GET ,
11096 route = f"file/{ file_id } " ,
111- overwrite_base_url = "https://v2.api.audio/v3" ,
11297 )
11398 return File .Item (r )
11499
@@ -118,7 +103,6 @@ def delete(file_id: str, folder_id: str) -> APIResponseItem:
118103 r = File .interface .send_request (
119104 rtype = RequestTypes .DELETE ,
120105 route = f"file/{ file_id } /{ folder_id } " ,
121- overwrite_base_url = "https://v2.api.audio/v3" ,
122106 )
123107 return APIResponseItem (r )
124108
@@ -127,7 +111,6 @@ def get_file_categories() -> APIResponseItem:
127111 r = File .interface .send_request (
128112 rtype = RequestTypes .GET ,
129113 route = "file/metadata/file-categories" ,
130- overwrite_base_url = "https://v2.api.audio/v3" ,
131114 )
132115 return APIResponseItem (r )
133116
@@ -144,7 +127,7 @@ def get_category_id_by_name(name: str) -> Optional[UUID]:
144127
145128
146129class Folder :
147- FAMILY = "content "
130+ FAMILY = "v3 "
148131 interface = RequestInterface (family = FAMILY )
149132
150133 class Item (APIResponseItem ):
@@ -168,8 +151,7 @@ def resolve_item(self, list_type: str, item: Any) -> dict:
168151 def get_root () -> Item :
169152 r = Folder .interface .send_request (
170153 rtype = RequestTypes .GET ,
171- route = "v3/file/folder" ,
172- overwrite_base_url = "https://v2.api.audio" ,
154+ route = "folder" ,
173155 )
174156 return Folder .Item (r )
175157
@@ -181,9 +163,8 @@ def create(name: str, parent_folder_id: Optional[UUID] = None) -> APIResponseIte
181163 }
182164 r = Folder .interface .send_request (
183165 rtype = RequestTypes .POST ,
184- route = "file/ folder" ,
166+ route = "folder" ,
185167 json = folder ,
186- overwrite_base_url = "https://v2.api.audio/v3" ,
187168 )
188169 return APIResponseItem (r )
189170
@@ -192,7 +173,6 @@ def get(folder_id: UUID) -> APIResponseItem:
192173 r = Folder .interface .send_request (
193174 rtype = RequestTypes .GET ,
194175 route = f"folder/{ folder_id } " ,
195- overwrite_base_url = "https://v2.api.audio/v3" ,
196176 )
197177 return APIResponseItem (r )
198178
@@ -208,7 +188,6 @@ def modify(
208188 rtype = RequestTypes .PATCH ,
209189 route = f"folder/{ folder_id } " ,
210190 json = folder ,
211- overwrite_base_url = "https://v2.api.audio/v3" ,
212191 )
213192 return APIResponseItem (r )
214193
@@ -217,6 +196,5 @@ def delete(folder_id: UUID) -> APIResponseItem:
217196 r = File .interface .send_request (
218197 rtype = RequestTypes .DELETE ,
219198 route = f"folder/{ folder_id } " ,
220- overwrite_base_url = "https://v2.api.audio/v3" ,
221199 )
222200 return APIResponseItem (r )
0 commit comments