@@ -187,9 +187,9 @@ def create_project_from_metadata(project_metadata):
187187 :rtype: dict
188188 """
189189 response = controller .create_project (
190- name = project_metadata ["project" ][ " name" ],
191- description = project_metadata ["project" ][ " description" ],
192- project_type = project_metadata ["project" ][ " type" ],
190+ name = project_metadata ["name" ],
191+ description = project_metadata ["description" ],
192+ project_type = project_metadata ["type" ],
193193 contributors = project_metadata .get ("contributors" , []),
194194 settings = project_metadata .get ("settings" , []),
195195 annotation_classes = project_metadata .get ("classes" , []),
@@ -305,7 +305,7 @@ def create_folder(project, folder_name):
305305 logger .info (f"Folder { folder_name } created in project { project } " )
306306 return folder .to_dict ()
307307 if res .errors :
308- logger . warning (res .errors )
308+ raise AppException (res .errors )
309309
310310
311311@Trackable
@@ -361,7 +361,9 @@ def delete_folders(project, folder_names):
361361 :type folder_names: list of strs
362362 """
363363
364- controller .delete_folders (project_name = project , folder_names = folder_names )
364+ res = controller .delete_folders (project_name = project , folder_names = folder_names )
365+ if res .errors :
366+ raise AppException (res .errors )
365367 logger .info (f"Folders { folder_names } deleted in project { project } " )
366368
367369
@@ -396,7 +398,9 @@ def rename_folder(project, new_folder_name):
396398 :type new_folder_name: str
397399 """
398400 project_name , folder_name = extract_project_folder (project )
399- controller .update_folder (project_name , folder_name , {"name" : new_folder_name })
401+ res = controller .update_folder (project_name , folder_name , {"name" : new_folder_name })
402+ if res .errors :
403+ raise AppException (res .errors )
400404 logger .info (
401405 f"Folder { folder_name } renamed to { new_folder_name } in project { project_name } "
402406 )
@@ -793,23 +797,24 @@ def get_project_metadata(
793797 :rtype: dict
794798 """
795799 project_name , folder_name = extract_project_folder (project )
796- metadata = controller .get_project_metadata (
800+ response = controller .get_project_metadata (
797801 project_name ,
798802 include_annotation_classes ,
799803 include_settings ,
800804 include_workflow ,
801805 include_contributors ,
802806 include_complete_image_count ,
803- )
804- metadata = metadata .data
805- for elem in "settings" , "classes" , "workflow" :
806- if metadata .get (elem ):
807+ ).data
808+
809+ metadata = ProjectSerializer (response ["project" ]).serialize ()
810+
811+ for elem in "settings" , "classes" , "workflows" , "contributors" :
812+ if response .get (elem ):
807813 metadata [elem ] = [
808- BaseSerializers (attribute ).serialize () for attribute in metadata [elem ]
814+ BaseSerializers (attribute ).serialize () for attribute in response [elem ]
809815 ]
810-
811- if metadata .get ("project" ):
812- metadata ["project" ] = ProjectSerializer (metadata ["project" ]).serialize ()
816+ else :
817+ metadata [elem ] = []
813818 return metadata
814819
815820
@@ -899,7 +904,7 @@ def get_project_default_image_quality_in_editor(project):
899904 :rtype: str
900905 """
901906 project_name , folder_name = extract_project_folder (project )
902- settings = controller .get_project_settings (project_name )
907+ settings = controller .get_project_settings (project_name ). data
903908 for setting in settings :
904909 if setting .attribute == "ImageQuality" :
905910 return setting .value
@@ -2343,22 +2348,20 @@ def upload_annotations_from_folder_to_project(
23432348 failed_annotations = []
23442349 missing_annotations = []
23452350 chunk_size = 10
2346- with tqdm (total = len (annotation_paths )) as progress_bar :
2347- for i in range (0 , len (annotation_paths ), chunk_size ):
2348- response = controller .upload_annotations_from_folder (
2349- project_name = project_name ,
2350- folder_name = folder_name ,
2351- folder_path = folder_path ,
2352- annotation_paths = annotation_paths [i : i + chunk_size ], # noqa: E203
2353- client_s3_bucket = from_s3_bucket ,
2354- )
2355- if response .errors :
2356- logger .warning (response .errors )
2357- if response .data :
2358- uploaded_annotations .extend (response .data [0 ])
2359- missing_annotations .extend (response .data [1 ])
2360- failed_annotations .extend (response .data [2 ])
2361- progress_bar .update (chunk_size )
2351+ for i in tqdm (range (0 , len (annotation_paths ), chunk_size )):
2352+ response = controller .upload_annotations_from_folder (
2353+ project_name = project_name ,
2354+ folder_name = folder_name ,
2355+ folder_path = folder_path ,
2356+ annotation_paths = annotation_paths [i : i + chunk_size ], # noqa: E203
2357+ client_s3_bucket = from_s3_bucket ,
2358+ )
2359+ if response .errors :
2360+ logger .warning (response .errors )
2361+ if response .data :
2362+ uploaded_annotations .extend (response .data [0 ])
2363+ missing_annotations .extend (response .data [1 ])
2364+ failed_annotations .extend (response .data [2 ])
23622365 return uploaded_annotations , failed_annotations , missing_annotations
23632366
23642367
0 commit comments