@@ -642,7 +642,7 @@ def get_image_array_to_upload(
642642def __upload_images_to_aws_thread (
643643 res , img_paths , project , annotation_status , prefix , thread_id , chunksize ,
644644 couldnt_upload , uploaded , tried_upload , image_quality_in_editor ,
645- from_s3_bucket , folder_id
645+ from_s3_bucket , project_folder_id
646646):
647647 len_img_paths = len (img_paths )
648648 start_index = thread_id * chunksize
@@ -699,7 +699,7 @@ def __upload_images_to_aws_thread(
699699 __create_image (
700700 uploaded_imgs_info [0 ], uploaded_imgs_info [1 ], project ,
701701 annotation_status , prefix , uploaded_imgs_info [2 ],
702- folder_id
702+ project_folder_id
703703 )
704704 except SABaseException as e :
705705 couldnt_upload [thread_id ] += uploaded_imgs
@@ -711,7 +711,7 @@ def __upload_images_to_aws_thread(
711711 try :
712712 __create_image (
713713 uploaded_imgs_info [0 ], uploaded_imgs_info [1 ], project ,
714- annotation_status , prefix , uploaded_imgs_info [2 ], folder_id
714+ annotation_status , prefix , uploaded_imgs_info [2 ], project_folder_id
715715 )
716716 except SABaseException as e :
717717 couldnt_upload [thread_id ] += uploaded_imgs
@@ -722,7 +722,7 @@ def __upload_images_to_aws_thread(
722722
723723def __create_image (
724724 img_names , img_paths , project , annotation_status , remote_dir , sizes ,
725- folder_id
725+ project_folder_id
726726):
727727 if len (img_paths ) == 0 :
728728 return
@@ -737,8 +737,8 @@ def __create_image(
737737 "annotation_status" : annotation_status ,
738738 "meta" : {}
739739 }
740- if folder_id is not None :
741- data ["folder_id" ] = folder_id
740+ if project_folder_id is not None :
741+ data ["folder_id" ] = project_folder_id
742742 for img_name , img_path , size in zip (img_names , img_paths , sizes ):
743743 img_name_uuid = Path (img_path ).name
744744 remote_path = remote_dir + f"{ img_name_uuid } "
@@ -838,10 +838,10 @@ def upload_images_to_project(
838838 raise SABaseException (
839839 response .status_code , "Couldn't get upload token " + response .text
840840 )
841- if folder is not None :
842- if not isinstance (folder , dict ):
843- folder = get_folder_metadata (project , folder )
844- folder = folder ["id" ]
841+ if project_folder is not None :
842+ if not isinstance (project_folder , dict ):
843+ project_folder = get_folder_metadata (project , project_folder )
844+ project_folder = project_folder ["id" ]
845845 res = response .json ()
846846 prefix = res ['filePath' ]
847847 tqdm_thread = threading .Thread (
@@ -858,7 +858,7 @@ def upload_images_to_project(
858858 args = (
859859 res , img_paths , project , annotation_status , prefix , thread_id ,
860860 chunksize , couldnt_upload , uploaded , tried_upload ,
861- image_quality_in_editor , from_s3_bucket , folder
861+ image_quality_in_editor , from_s3_bucket , project_folder
862862 ),
863863 daemon = True
864864 )
@@ -1172,7 +1172,7 @@ def upload_images_from_azure_blob_to_project(
11721172def __upload_annotations_thread (
11731173 team_id , project_id , project_type , anns_filenames , folder_path ,
11741174 annotation_classes_dict , pre , thread_id , chunksize , missing_images ,
1175- couldnt_upload , uploaded , from_s3_bucket , project_folder
1175+ couldnt_upload , uploaded , from_s3_bucket , project_folder_id
11761176):
11771177 NUM_TO_SEND = 500
11781178 len_anns = len (anns_filenames )
@@ -1196,7 +1196,9 @@ def __upload_annotations_thread(
11961196 image_name = anns_filenames [j ][:- len_postfix_json ]
11971197 names .append (image_name )
11981198 try :
1199- metadatas = get_image_metadata ({"id" : project_id }, names , False )
1199+ metadatas = get_image_metadata (
1200+ {"id" : project_id }, names , False , {"id" : project_folder_id }
1201+ )
12001202 except SABaseException :
12011203 metadatas = []
12021204 names_in_metadatas = [metadata ["name" ] for metadata in metadatas ]
@@ -1216,7 +1218,7 @@ def __upload_annotations_thread(
12161218 "project_id" : project_id ,
12171219 "team_id" : team_id ,
12181220 "ids" : [metadata ["id" ] for metadata in metadatas ],
1219- "folder_id" : project_folder
1221+ "folder_id" : project_folder_id
12201222 }
12211223 endpoint = '/images/getAnnotationsPathsAndTokens' if pre == "" else '/images/getPreAnnotationsPathsAndTokens'
12221224 response = _api .send_request (
@@ -1338,9 +1340,16 @@ def _upload_pre_or_annotations_from_folder_to_project(
13381340 if not isinstance (project , dict ):
13391341 project = get_project_metadata_bare (project )
13401342
1343+ if project_folder is not None :
1344+ if not isinstance (project_folder , dict ):
1345+ project_folder = get_folder_metadata (project , project_folder )
1346+ project_folder_id = project_folder ["id" ]
1347+ else :
1348+ project_folder_id = None
1349+
13411350 return _upload_annotations_from_folder_to_project (
13421351 project , folder_path , pre , from_s3_bucket , recursive_subfolders ,
1343- project_folder
1352+ project_folder_id
13441353 )
13451354
13461355
@@ -1350,7 +1359,7 @@ def _upload_annotations_from_folder_to_project(
13501359 pre ,
13511360 from_s3_bucket = None ,
13521361 recursive_subfolders = False ,
1353- project_folder = None
1362+ project_folder_id = None
13541363):
13551364 return_result = []
13561365 if from_s3_bucket is not None :
@@ -1362,7 +1371,7 @@ def _upload_annotations_from_folder_to_project(
13621371 if path .is_dir ():
13631372 return_result += _upload_annotations_from_folder_to_project (
13641373 project , path , pre , from_s3_bucket ,
1365- recursive_subfolders , project_folder
1374+ recursive_subfolders , project_folder_id
13661375 )
13671376 else :
13681377 s3_client = boto3 .client ('s3' )
@@ -1374,7 +1383,7 @@ def _upload_annotations_from_folder_to_project(
13741383 for o in results :
13751384 return_result += _upload_annotations_from_folder_to_project (
13761385 project , o .get ('Prefix' ), pre , from_s3_bucket ,
1377- recursive_subfolders , project_folder
1386+ recursive_subfolders , project_folder_id
13781387 )
13791388
13801389 team_id , project_id , project_type = project ["team_id" ], project [
@@ -1449,7 +1458,7 @@ def _upload_annotations_from_folder_to_project(
14491458 team_id , project_id , project_type , annotations_filenames ,
14501459 folder_path , annotation_classes_dict , pre , thread_id , chunksize ,
14511460 missing_image , couldnt_upload , uploaded , from_s3_bucket ,
1452- project_folder
1461+ project_folder_id
14531462 ),
14541463 daemon = True
14551464 )
0 commit comments