@@ -134,9 +134,27 @@ def upload_image_to_project(
134134 break
135135
136136
137+ def copy_image_endpoint (img_metadatas , destination_project_folder_id ):
138+ params = {
139+ "team_id" : _api .team_id ,
140+ "project_id" : img_metadatas [0 ]["project_id" ]
141+ }
142+ json_req = {
143+ "image_ids" : [x ["id" ] for x in img_metadatas ],
144+ "destination_folder_id" : destination_project_folder_id
145+ }
146+ response = _api .send_request (
147+ req_type = 'POST' , path = '/image/copy' , params = params , json_req = json_req
148+ )
149+ if not response .ok :
150+ raise SABaseException (
151+ response .status_code , "Couldn't copy images " + response .text
152+ )
153+
154+
137155def copy_image (
138156 source_project ,
139- image_name ,
157+ image_names ,
140158 destination_project ,
141159 include_annotations = False ,
142160 copy_annotation_status = False ,
@@ -159,12 +177,22 @@ def copy_image(
159177 :param copy_pin: enables image pin status copy
160178 :type copy_pin: bool
161179 """
162- if not isinstance (source_project , dict ):
163- source_project = get_project_metadata_bare (source_project )
164- if not isinstance (destination_project , dict ):
165- destination_project = get_project_metadata_bare (destination_project )
166- img_b = get_image_bytes (source_project , image_name )
167- img_metadata = get_image_metadata (source_project , image_name )
180+ source_project , source_project_folder = get_project_project_folder_metadata (
181+ source_project
182+ )
183+ destination_project , destination_project_folder = get_project_project_folder_metadata (
184+ destination_project
185+ )
186+ img_metadatas = get_image_metadata (
187+ (source_project , source_project_folder ), image_names
188+ )
189+ print (source_project , destination_project )
190+ if source_project ["id" ] == destination_project ["id" ]:
191+ copy_image_endpoint (img_metadatas , destination_project_folder ["id" ])
192+ return
193+ img_b = get_image_bytes (
194+ (source_project , source_project_folder ), image_names
195+ )
168196 new_name = image_name
169197 extension = Path (image_name ).suffix
170198 p = re .compile (r"_\([0-9]+\)\." )
0 commit comments