@@ -255,15 +255,25 @@ def test_copy_images(tmpdir):
255255 num_images = sa .get_project_image_count (project )
256256 assert num_images == 4
257257
258+ im1 = sa .get_image_metadata (project , "example_image_2.jpg" )
259+ assert im1 ["annotation_status" ] == "InProgress"
260+
258261 sa .create_folder (PROJECT_NAME , "folder2" )
259262 project2 = PROJECT_NAME + "/folder2"
260263 num_images = sa .get_project_image_count (project2 )
261264 assert num_images == 0
262265
263266 sa .copy_images (
264- project , project2 , ["example_image_2.jpg" , "example_image_3.jpg" ]
267+ project ,
268+ project2 , ["example_image_2.jpg" , "example_image_3.jpg" ],
269+ include_annotations = False ,
270+ copy_annotation_status = False ,
271+ copy_pin = False
265272 )
266273
274+ im1_copied = sa .get_image_metadata (project2 , "example_image_2.jpg" )
275+ assert im1_copied ["annotation_status" ] == "NotStarted"
276+
267277 num_images = sa .get_project_image_count (project2 )
268278 assert num_images == 2
269279
@@ -364,18 +374,84 @@ def test_copy_images2(tmpdir):
364374 num_images = sa .get_project_image_count (project2 )
365375 assert num_images == 0
366376
377+ sa .pin_image (project , "example_image_2.jpg" )
378+
379+ im1 = sa .get_image_metadata (project , "example_image_2.jpg" )
380+ assert im1 ["is_pinned" ] == 1
381+ assert im1 ["annotation_status" ] == "InProgress"
382+
367383 sa .copy_images (
368- project ,
369- project2 , ["example_image_2.jpg" , "example_image_3.jpg" ],
370- include_annotations = False ,
371- copy_annotation_status = False ,
372- copy_pin = False
384+ project , project2 , ["example_image_2.jpg" , "example_image_3.jpg" ]
373385 )
374386
375387 num_images = sa .get_project_image_count (project2 )
376388 assert num_images == 2
377389
378390 ann1 = sa .get_image_annotations (project , "example_image_2.jpg" )
379391 ann2 = sa .get_image_annotations (project2 , "example_image_2.jpg" )
392+ assert ann1 == ann2
393+
394+ im1_copied = sa .get_image_metadata (project2 , "example_image_2.jpg" )
395+ assert im1_copied ["is_pinned" ] == 1
396+ assert im1_copied ["annotation_status" ] == "InProgress"
397+
398+ im2_copied = sa .get_image_metadata (project2 , "example_image_3.jpg" )
399+ assert im2_copied ["is_pinned" ] == 0
400+ assert im2_copied ["annotation_status" ] == "InProgress"
401+
402+
403+ def test_folder_export (tmpdir ):
404+ PROJECT_NAME = "test folder export"
405+ tmpdir = Path (tmpdir )
406+
407+ projects_found = sa .search_projects (PROJECT_NAME , return_metadata = True )
408+ for pr in projects_found :
409+ sa .delete_project (pr )
410+
411+ project = sa .create_project (PROJECT_NAME , 'test' , 'Vector' )
412+ sa .create_annotation_classes_from_classes_json (
413+ project , FROM_FOLDER / "classes" / "classes.json"
414+ )
415+ sa .upload_images_from_folder_to_project (
416+ project , FROM_FOLDER , annotation_status = "InProgress"
417+ )
418+ sa .create_folder (project , "folder1" )
419+ project = PROJECT_NAME + "/folder1"
420+ sa .upload_images_from_folder_to_project (
421+ project , FROM_FOLDER , annotation_status = "InProgress"
422+ )
423+
424+ sa .upload_annotations_from_folder_to_project (project , FROM_FOLDER )
425+ num_images = sa .get_project_image_count (project )
426+ assert num_images == 4
427+
428+ sa .create_folder (PROJECT_NAME , "folder2" )
429+ project2 = PROJECT_NAME + "/folder2"
430+ num_images = sa .get_project_image_count (project2 )
431+ assert num_images == 0
432+
433+ sa .copy_images (
434+ project , project2 , ["example_image_2.jpg" , "example_image_3.jpg" ]
435+ )
436+
437+ export = sa .prepare_export (PROJECT_NAME , ["folder1" , "folder2" ])
438+ sa .download_export (project , export , tmpdir )
439+
440+ assert len (list ((tmpdir / "classes" ).rglob ("*" ))) == 1
441+
442+ assert len (list ((tmpdir / "folder1" ).rglob ("*" ))) == 4
443+
444+ assert len (list ((tmpdir / "folder2" ).rglob ("*" ))) == 2
445+
446+ assert len (list ((tmpdir ).glob ("*.*" ))) == 0
447+
448+ export = sa .prepare_export (PROJECT_NAME )
449+ sa .download_export (project , export , tmpdir )
450+
451+ assert len (list ((tmpdir / "classes" ).rglob ("*" ))) == 1
452+
453+ assert len (list ((tmpdir / "folder1" ).rglob ("*" ))) == 4
454+
455+ assert len (list ((tmpdir / "folder2" ).rglob ("*" ))) == 2
380456
381- assert ann1 == ann2
457+ assert len ( list (( tmpdir ). glob ( "*.*" ))) == 4
0 commit comments