Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 3 commits into from
Mar 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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']
Loading