22from types import DynamicClassAttribute
33
44
5- class BaseTitledEnum (Enum ):
5+ class BaseTitledEnum (int , Enum ):
6+ def __new__ (cls , title , value ):
7+ obj = int .__new__ (cls , value )
8+ obj ._value_ = value
9+ obj .__doc__ = title
10+ obj ._type = "titled_enum"
11+ return obj
12+
613 @DynamicClassAttribute
714 def name (self ) -> str :
8- return super (). value [ 0 ]
15+ return self . __doc__
916
1017 @DynamicClassAttribute
1118 def value (self ):
12- return super ().value [ 1 ]
19+ return super ().value
1320
1421 @classmethod
1522 def get_name (cls , value ):
1623 for enum in list (cls ):
1724 if enum .value == value :
18- return enum .name
25+ return enum .__doc__
1926
2027 @classmethod
2128 def get_value (cls , name ):
2229 for enum in list (cls ):
23- if enum .name .lower () == name .lower ():
30+ if enum .__doc__ .lower () == name .lower ():
2431 return enum .value
2532
2633 @classmethod
2734 def values (cls ):
28- return [enum .name .lower () for enum in list (cls )]
35+ return [enum .__doc__ .lower () for enum in list (cls )]
2936
3037 @classmethod
3138 def titles (cls ):
32- return [enum .name for enum in list (cls )]
39+ return [enum .__doc__ for enum in list (cls )]
3340
3441 def equals (self , other : Enum ):
35- return self .name .lower () == other .lower ()
42+ return self .__doc__ .lower () == other . __doc__ .lower ()
3643
3744
3845class ProjectType (BaseTitledEnum ):
@@ -92,9 +99,9 @@ class ClassTypeEnum(BaseTitledEnum):
9299 @classmethod
93100 def get_value (cls , name ):
94101 for enum in list (cls ):
95- if enum .name .lower () == name .lower ():
102+ if enum .__doc__ .lower () == name .lower ():
96103 return enum .value
97- return "object"
104+ return cls . OBJECT . value
98105
99106
100107class TrainingStatus (BaseTitledEnum ):
@@ -113,7 +120,7 @@ class SegmentationStatus(BaseTitledEnum):
113120 FAILED = "Failed" , 4
114121
115122
116- class TrainingTask ( BaseTitledEnum ) :
123+ class TrainingTask :
117124 INSTANCE_SEGMENTATION_PIXEL = (
118125 "Instance Segmentation for Pixel Projects" ,
119126 "instance_segmentation_pixel" ,
0 commit comments