Skip to content

Commit a0dec02

Browse files
Throw resource not found error for model config methods. (#1623)
1 parent b3e285a commit a0dec02

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

libs/labelbox/src/labelbox/schema/project.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
LabelboxError,
1919
ProcessingWaitTimeout,
2020
ResourceConflict,
21+
ResourceNotFoundError
2122
)
2223
from labelbox.orm import query
2324
from labelbox.orm.db_object import DbObject, Deletable, Updateable, experimental
@@ -33,6 +34,7 @@
3334
from labelbox.schema.identifiable import DataRowIdentifier, GlobalKey, UniqueId
3435
from labelbox.schema.identifiables import DataRowIdentifiers, UniqueIds
3536
from labelbox.schema.media_type import MediaType
37+
from labelbox.schema.model_config import ModelConfig
3638
from labelbox.schema.project_model_config import ProjectModelConfig
3739
from labelbox.schema.queue_mode import QueueMode
3840
from labelbox.schema.resource_tag import ResourceTag
@@ -1271,6 +1273,8 @@ def add_model_config(self, model_config_id: str) -> str:
12711273
"modelConfigId": model_config_id,
12721274
}
12731275
result = self.client.execute(query, params)
1276+
if not result:
1277+
raise ResourceNotFoundError(ModelConfig, params)
12741278
return result["createProjectModelConfig"]["projectModelConfigId"]
12751279

12761280
def delete_project_model_config(self, project_model_config_id: str) -> bool:
@@ -1292,6 +1296,8 @@ def delete_project_model_config(self, project_model_config_id: str) -> bool:
12921296
"id": project_model_config_id,
12931297
}
12941298
result = self.client.execute(query, params)
1299+
if not result:
1300+
raise ResourceNotFoundError(ProjectModelConfig, params)
12951301
return result["deleteProjectModelConfig"]["success"]
12961302

12971303
def set_labeling_parameter_overrides(

libs/labelbox/tests/integration/test_project_model_config.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import pytest
2+
from labelbox.exceptions import ResourceNotFoundError
23

34
def test_add_single_model_config(configured_project, model_config):
45
project_model_config_id = configured_project.add_model_config(model_config.uid)
@@ -23,3 +24,7 @@ def test_add_multiple_model_config(client, rand_gen, configured_project, model_c
2324
def test_delete_project_model_config(configured_project, model_config):
2425
assert configured_project.delete_project_model_config(configured_project.add_model_config(model_config.uid))
2526
assert not len(configured_project.project_model_configs())
27+
28+
def test_delete_nonexistant_project_model_config(configured_project):
29+
with pytest.raises(ResourceNotFoundError):
30+
configured_project.delete_project_model_config("nonexistant_project_model_config")

0 commit comments

Comments
 (0)