Skip to content

Commit 8441789

Browse files
author
Val Brodsky
committed
Fix media_type conversions
1 parent 5093d42 commit 8441789

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

libs/labelbox/src/labelbox/schema/media_type.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from enum import Enum
22

3+
from labelbox.utils import camel_case
4+
35

46
class MediaType(Enum):
57
Audio = "AUDIO"
@@ -23,7 +25,7 @@ class MediaType(Enum):
2325
LLM = "LLM"
2426

2527
@classmethod
26-
def _missing_(cls, value: str):
28+
def _missing_(cls, value):
2729
"""Handle missing null data types for projects
2830
created without setting allowedMediaType
2931
Handle upper case names for compatibility with
@@ -32,8 +34,18 @@ def _missing_(cls, value: str):
3234
if value is None:
3335
return cls.Unknown
3436

37+
def matches(value, name):
38+
value_upper = value.upper()
39+
name_upper = name.upper()
40+
value_underscore = value.replace("-", "_")
41+
camel_case_value = camel_case(value_underscore)
42+
43+
return (value_upper == name_upper or
44+
value_underscore.upper() == name_upper or
45+
camel_case_value.upper() == name_upper)
46+
3547
for name, member in cls.__members__.items():
36-
if name.upper() == value.upper():
48+
if matches(value, name):
3749
return member
3850

3951
@classmethod

libs/labelbox/tests/integration/test_labeling_dashboard.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,6 @@ def test_request_labeling_service_dashboard_filters(requested_labeling_service):
8282
]
8383
assert len(labeling_service_dashboard) == 0
8484
assert labeling_service_dashboard == []
85+
labeling_service_dashboard = project.client.get_labeling_service_dashboards(
86+
).get_one()
87+
assert labeling_service_dashboard

0 commit comments

Comments
 (0)