Skip to content

Commit 573f6c7

Browse files
committed
Fixed upload_videos
1 parent 8c15b01 commit 573f6c7

File tree

2 files changed

+24
-7
lines changed

2 files changed

+24
-7
lines changed

src/superannotate/lib/core/usecases/images.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1774,12 +1774,12 @@ def execute(self) -> Response:
17741774
)
17751775
duplicate_images = []
17761776
for names in divide_to_chunks(frame_names, 500):
1777-
data = self._service_provider.item_service.list(
1777+
_items = self._service_provider.item_service.list(
17781778
self._project.id,
17791779
self._folder.id,
17801780
Filter("name", names, OperatorEnum.IN),
17811781
)
1782-
duplicate_images.extend(data)
1782+
duplicate_images.extend(_items)
17831783
duplicate_images = [image.name for image in duplicate_images]
17841784
frames_generator_use_case = ExtractFramesUseCase(
17851785
service_provider=self._service_provider,
@@ -1816,7 +1816,6 @@ def execute(self) -> Response:
18161816
)
18171817
if set(duplicate_images) == set(frame_names):
18181818
continue
1819-
uploaded_paths = []
18201819
with Progress(
18211820
total_frames_count, f"Uploading {Path(path).name}"
18221821
) as progress:
@@ -1839,7 +1838,7 @@ def execute(self) -> Response:
18391838
progress.update()
18401839

18411840
uploaded, failed_images, _ = use_case.response.data
1842-
uploaded_paths.extend(uploaded)
1841+
data.extend(uploaded)
18431842
if failed_images:
18441843
self.reporter.log_warning(
18451844
f"Failed {len(failed_images)}."
@@ -1850,6 +1849,5 @@ def execute(self) -> Response:
18501849
os.remove(image_path)
18511850
else:
18521851
raise AppException(use_case.response.errors)
1853-
data.extend(uploaded_paths)
18541852
self._response.data = data
18551853
return self._response

tests/integration/test_video.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class TestVideo(BaseTestCase):
1616
PROJECT_TYPE = "Vector"
1717
TEST_FOLDER_NAME = "new_folder"
1818
TEST_VIDEO_FOLDER_PATH = "data_set/sample_videos/single"
19+
TEST_MULTIPLE_VIDEO_FOLDER_PATH = "data_set/sample_videos"
1920
TEST_VIDEO_FOLDER_PATH_BIG = "data_set/sample_videos/earth_video"
2021
TEST_VIDEO_NAME = "video.mp4"
2122
TEST_FOLDER_NAME_BIG_VIDEO = "big"
@@ -24,6 +25,12 @@ class TestVideo(BaseTestCase):
2425
def folder_path(self):
2526
return os.path.join(dirname(dirname(__file__)), self.TEST_VIDEO_FOLDER_PATH)
2627

28+
@property
29+
def folder_multiple_path(self):
30+
return os.path.join(
31+
dirname(dirname(__file__)), self.TEST_MULTIPLE_VIDEO_FOLDER_PATH
32+
)
33+
2734
@property
2835
def folder_path_big(self):
2936
return os.path.join(dirname(dirname(__file__)), self.TEST_VIDEO_FOLDER_PATH_BIG)
@@ -43,11 +50,23 @@ def tearDown(self) -> None:
4350
for project in projects:
4451
sa.delete_project(project)
4552

53+
def test_videos_upload_from_folder(self):
54+
res = sa.upload_videos_from_folder_to_project(
55+
self.PROJECT_NAME, self.folder_multiple_path, target_fps=1
56+
)
57+
assert len(res) == 16
58+
4659
def test_video_upload_from_folder(self):
47-
sa.upload_videos_from_folder_to_project(
60+
res = sa.upload_videos_from_folder_to_project(
4861
self.PROJECT_NAME, self.folder_path, target_fps=1
4962
)
50-
63+
assert res == [
64+
"video_001.jpg",
65+
"video_002.jpg",
66+
"video_004.jpg",
67+
"video_005.jpg",
68+
"video_003.jpg",
69+
]
5170
sa.create_folder(self.PROJECT_NAME, self.TEST_FOLDER_NAME)
5271
sa.upload_videos_from_folder_to_project(
5372
f"{self.PROJECT_NAME}/{self.TEST_FOLDER_NAME}",

0 commit comments

Comments
 (0)