Skip to content

Commit

Permalink
fix: OPTIC-574: Inconsistent behavior on Create Annotations From Pred…
Browse files Browse the repository at this point in the history
…ictions (#5631)

* fix: OPTIC-574: Inconsistent behavior on Create Annotations From Predictions

* adding test

* linting
  • Loading branch information
bmartel committed Mar 26, 2024
1 parent b3dd626 commit 9128f2a
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,9 @@ def predictions_to_annotations_form(user, project):
versions = project.get_model_versions()

# put the current model version on the top of the list
# if it exists
first = project.model_version
if first is not None:
if first:
try:
versions.remove(first)
except ValueError:
Expand Down
2 changes: 1 addition & 1 deletion label_studio/projects/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -931,7 +931,7 @@ def get_model_versions(self, with_counters=False, extended=False):
output = {r['model_version']: r['count'] for r in model_versions}

# Ensure that self.model_version exists in output
if self.model_version is not None and self.model_version not in output:
if self.model_version and self.model_version not in output:
output[self.model_version] = 0

# Return as per requirement
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import mock
from data_manager.actions.predictions_to_annotations import predictions_to_annotations_form
from projects.models import Project
from users.models import User


def test_predictions_to_annotations_form():
project = Project()
user = User()

with mock.patch('projects.models.Project.get_model_versions') as mock_get_model_versions:
project.model_version = ''
mock_get_model_versions.return_value = ['undefined']
assert predictions_to_annotations_form(user, project)[0]['fields'][0]['options'] == ['undefined']

project.model_version = None
mock_get_model_versions.return_value = ['undefined']
assert predictions_to_annotations_form(user, project)[0]['fields'][0]['options'] == ['undefined']

project.model_version = 'undefined'
mock_get_model_versions.return_value = ['undefined']
assert predictions_to_annotations_form(user, project)[0]['fields'][0]['options'] == ['undefined']

project.model_version = ''
mock_get_model_versions.return_value = []
assert predictions_to_annotations_form(user, project)[0]['fields'][0]['options'] == []

project.model_version = None
mock_get_model_versions.return_value = []
assert predictions_to_annotations_form(user, project)[0]['fields'][0]['options'] == []

project.model_version = 'undefined'
mock_get_model_versions.return_value = []
assert predictions_to_annotations_form(user, project)[0]['fields'][0]['options'] == ['undefined']

0 comments on commit 9128f2a

Please sign in to comment.