From ac6b36bd1ddfd9dd0cfa85df7a120c95b50eb351 Mon Sep 17 00:00:00 2001 From: Vaghinak Basentsyan Date: Fri, 14 Oct 2022 11:19:45 +0400 Subject: [PATCH] Fixed add_annotation_bbox/comment/point_to image --- .../lib/app/interface/sdk_interface.py | 18 +++++++----------- .../test_annotations_upload_status_change.py | 7 +++++++ 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/superannotate/lib/app/interface/sdk_interface.py b/src/superannotate/lib/app/interface/sdk_interface.py index 60f50062a..1af4ebc50 100644 --- a/src/superannotate/lib/app/interface/sdk_interface.py +++ b/src/superannotate/lib/app/interface/sdk_interface.py @@ -1971,7 +1971,7 @@ def add_annotation_bbox_to_image( response = self.controller.annotations.list( project=project, folder=folder, item_names=[image_name], verbose=False ) - if response.errors: + if not response.data: raise AppException("Image not found.") if response.data: annotations = response.data[0] @@ -2030,12 +2030,10 @@ def add_annotation_point_to_image( ]: raise AppException(LIMITED_FUNCTIONS[project.type]) response = self.controller.annotations.list( - project=project, - folder=folder, - item_names=[image_name], + project=project, folder=folder, item_names=[image_name], verbose=False ) - if response.errors: - raise AppException(response.errors) + if not response.data: + raise AppException("Image not found.") if response.data: annotations = response.data[0] else: @@ -2090,12 +2088,10 @@ def add_annotation_comment_to_image( raise AppException(LIMITED_FUNCTIONS[project.type]) project, folder = self.controller.get_project_folder(project_name, folder_name) response = self.controller.annotations.list( - project=project, - folder=folder, - item_names=[image_name], + project=project, folder=folder, item_names=[image_name], verbose=False ) - if response.errors: - raise AppException(response.errors) + if not response.data: + raise AppException("Image not found.") if response.data: annotations = response.data[0] else: diff --git a/tests/integration/annotations/test_annotations_upload_status_change.py b/tests/integration/annotations/test_annotations_upload_status_change.py index 6608a88b3..db98b876e 100644 --- a/tests/integration/annotations/test_annotations_upload_status_change.py +++ b/tests/integration/annotations/test_annotations_upload_status_change.py @@ -8,6 +8,7 @@ import src.superannotate.lib.core as constances from src.superannotate import SAClient +from src.superannotate import AppException from tests.integration.base import BaseTestCase sa = SAClient() @@ -74,6 +75,12 @@ def test_add_annotation_bbox_to_image__annotation_status(self, reporter): sa.get_item_metadata(self.PROJECT_NAME, self.IMAGE_NAME)["annotation_status"] ) + def test_add_annotation_bbox_to_image_not_existing_image(self, reporter): + reporter_mock = MagicMock() + reporter.return_value = reporter_mock + with self.assertRaisesRegexp(AppException, "Image not found."): + sa.add_annotation_bbox_to_image(self.PROJECT_NAME, "self.IMAGE_NAME", [1, 2, 3, 4], "bbox") + @pytest.mark.flaky(reruns=2) @patch("lib.infrastructure.controller.Reporter") def test_add_annotation_comment_to_image__annotation_status(self, reporter):