xoa.misc.DefaultEnumMeta¶
-
class
xoa.misc.DefaultEnumMeta(cls, bases, classdict, **kwds)[source]¶ Enum meta-class that support default value and None
When the item is not provided or equal to
None, the first declared item is returnedInspired from: https://stackoverflow.com/questions/44867597/is-there-a-way-to-specify-a-default-value-for-python-enums
Example
In [1]: from enum import IntEnum In [2]: class regrid_methods(IntEnum, metaclass=DefaultEnumMeta): ...: linear = 1 ...: bilinear = 1 ...: nearest = 0 ...: cellave = -1 ...: In [3]: regrid_methods() # default method Out[3]: <regrid_methods.linear: 1> In [4]: regrid_methods(None) # default method Out[4]: <regrid_methods.linear: 1> In [5]: regrid_methods(1) Out[5]: <regrid_methods.linear: 1> In [6]: regrid_methods[None] # default method Out[6]: <regrid_methods.linear: 1> In [7]: regrid_methods['linear'] Out[7]: <regrid_methods.linear: 1> In [8]: regrid_methods['cellave'] Out[8]: <regrid_methods.cellave: -1>
-
__init__(*args, **kwargs)¶ Initialize self. See help(type(self)) for accurate signature.
Methods
get_rst([with_links, link_module])mro()Return a type’s method resolution order.
Attributes
-