@@ -440,7 +440,7 @@ def upload_images_from_folder_to_project(
440440 exclude_file_patterns = None ,
441441 recursive_subfolders = False ,
442442 image_quality_in_editor = None ,
443- folder = None
443+ project_folder = None
444444):
445445 """Uploads all images with given extensions from folder_path to the project.
446446 Sets status of all the uploaded images to set_status if it is not None.
@@ -538,7 +538,7 @@ def upload_images_from_folder_to_project(
538538
539539 return upload_images_to_project (
540540 project , filtered_paths , annotation_status , from_s3_bucket ,
541- image_quality_in_editor , folder
541+ image_quality_in_editor , project_folder
542542 )
543543
544544
@@ -765,7 +765,7 @@ def upload_images_to_project(
765765 annotation_status = "NotStarted" ,
766766 from_s3_bucket = None ,
767767 image_quality_in_editor = None ,
768- folder = None
768+ project_folder = None
769769):
770770 """Uploads all images given in list of path objects in img_paths to the project.
771771 Sets status of all the uploaded images to set_status if it is not None.
@@ -801,7 +801,7 @@ def upload_images_to_project(
801801 project
802802 )
803803 team_id , project_id = project ["team_id" ], project ["id" ]
804- existing_images = search_images (project , folder = folder )
804+ existing_images = search_images (project , project_folder = project_folder )
805805 duplicate_images = []
806806 for existing_image in existing_images :
807807 i = - 1
@@ -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
1175+ couldnt_upload , uploaded , from_s3_bucket , project_folder
11761176):
11771177 NUM_TO_SEND = 500
11781178 len_anns = len (anns_filenames )
@@ -1215,7 +1215,8 @@ def __upload_annotations_thread(
12151215 data = {
12161216 "project_id" : project_id ,
12171217 "team_id" : team_id ,
1218- "ids" : [metadata ["id" ] for metadata in metadatas ]
1218+ "ids" : [metadata ["id" ] for metadata in metadatas ],
1219+ "folder_id" : project_folder
12191220 }
12201221 endpoint = '/images/getAnnotationsPathsAndTokens' if pre == "" else '/images/getPreAnnotationsPathsAndTokens'
12211222 response = _api .send_request (
@@ -1282,7 +1283,11 @@ def __upload_annotations_thread(
12821283
12831284
12841285def upload_annotations_from_folder_to_project (
1285- project , folder_path , from_s3_bucket = None , recursive_subfolders = False
1286+ project ,
1287+ folder_path ,
1288+ from_s3_bucket = None ,
1289+ recursive_subfolders = False ,
1290+ project_folder = None
12861291):
12871292 """Finds and uploads all JSON files in the folder_path as annotations to the project.
12881293
@@ -1306,12 +1311,18 @@ def upload_annotations_from_folder_to_project(
13061311 :rtype: tuple of list of strs
13071312 """
13081313 return _upload_pre_or_annotations_from_folder_to_project (
1309- project , folder_path , "" , from_s3_bucket , recursive_subfolders
1314+ project , folder_path , "" , from_s3_bucket , recursive_subfolders ,
1315+ project_folder
13101316 )
13111317
13121318
13131319def _upload_pre_or_annotations_from_folder_to_project (
1314- project , folder_path , pre , from_s3_bucket = None , recursive_subfolders = False
1320+ project ,
1321+ folder_path ,
1322+ pre ,
1323+ from_s3_bucket = None ,
1324+ recursive_subfolders = False ,
1325+ project_folder = None
13151326):
13161327 if recursive_subfolders :
13171328 logger .info (
@@ -1328,12 +1339,18 @@ def _upload_pre_or_annotations_from_folder_to_project(
13281339 project = get_project_metadata_bare (project )
13291340
13301341 return _upload_annotations_from_folder_to_project (
1331- project , folder_path , pre , from_s3_bucket , recursive_subfolders
1342+ project , folder_path , pre , from_s3_bucket , recursive_subfolders ,
1343+ project_folder
13321344 )
13331345
13341346
13351347def _upload_annotations_from_folder_to_project (
1336- project , folder_path , pre , from_s3_bucket = None , recursive_subfolders = False
1348+ project ,
1349+ folder_path ,
1350+ pre ,
1351+ from_s3_bucket = None ,
1352+ recursive_subfolders = False ,
1353+ project_folder = None
13371354):
13381355 return_result = []
13391356 if from_s3_bucket is not None :
@@ -1344,7 +1361,8 @@ def _upload_annotations_from_folder_to_project(
13441361 for path in Path (folder_path ).glob ('*' ):
13451362 if path .is_dir ():
13461363 return_result += _upload_annotations_from_folder_to_project (
1347- project , path , pre , from_s3_bucket , recursive_subfolders
1364+ project , path , pre , from_s3_bucket ,
1365+ recursive_subfolders , project_folder
13481366 )
13491367 else :
13501368 s3_client = boto3 .client ('s3' )
@@ -1356,7 +1374,7 @@ def _upload_annotations_from_folder_to_project(
13561374 for o in results :
13571375 return_result += _upload_annotations_from_folder_to_project (
13581376 project , o .get ('Prefix' ), pre , from_s3_bucket ,
1359- recursive_subfolders
1377+ recursive_subfolders , project_folder
13601378 )
13611379
13621380 team_id , project_id , project_type = project ["team_id" ], project [
@@ -1430,7 +1448,8 @@ def _upload_annotations_from_folder_to_project(
14301448 args = (
14311449 team_id , project_id , project_type , annotations_filenames ,
14321450 folder_path , annotation_classes_dict , pre , thread_id , chunksize ,
1433- missing_image , couldnt_upload , uploaded , from_s3_bucket
1451+ missing_image , couldnt_upload , uploaded , from_s3_bucket ,
1452+ project_folder
14341453 ),
14351454 daemon = True
14361455 )
0 commit comments