OwlEnum¶
Note
Usage on each methods are valid on the premise that the following classes is defined in advance.
# coding: utf-8
from owlmixin import OwlMixin, TOption
from owlmixin.owlcollections import TDict, TList
from owlmixin.owlenum import OwlEnum, OwlObjectEnum
class Animal(OwlObjectEnum): # pragma: no cover
DOG = ("dog", {"cry": "bow-wow"})
CAT = ("cat", {"cry": "mewing"})
def cry(self):
return self.object["cry"]
class Color(OwlEnum): # pragma: no cover
RED = "red"
GREEN = "green"
BLUE = "blue"
class Food(OwlMixin): # pragma: no cover
name: str
names_by_lang: TOption[TDict[str]]
class Human(OwlMixin): # pragma: no cover
id: int
name: str
favorites: TList[Food]
class Machine(OwlMixin): # pragma: no cover
id: int
name: str
class Japanese(OwlMixin): # pragma: no cover
name: str
language: str = "japanese"
OwlEnum¶
OwlObjectEnum¶
- class owlmixin.owlenum.OwlObjectEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
This class is similar to OwlEnum except that can have additional object.
- Use case example:
- class Animal(OwlObjectEnum):
DOG = (“dog”, {“cry”: “bow-wow”}) CAT = (“cat”, {“cry”: “mewing”})
- def cry(self):
return self.object[“cry”]