Python enum._EnumDict() Examples
The following are 5
code examples of enum._EnumDict().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
enum
, or try the search function
.
Example #1
Source File: test.py From tandem with Apache License 2.0 | 5 votes |
def test_multiple_mixin_mro(self): class auto_enum(EnumMeta): def __new__(metacls, cls, bases, classdict): original_dict = classdict classdict = enum._EnumDict() for k, v in original_dict.items(): classdict[k] = v temp = type(classdict)() names = set(classdict._member_names) i = 0 for k in classdict._member_names: v = classdict[k] if v == (): v = i else: i = v i += 1 temp[k] = v for k, v in classdict.items(): if k not in names: temp[k] = v return super(auto_enum, metacls).__new__( metacls, cls, bases, temp) AutoNumberedEnum = auto_enum('AutoNumberedEnum', (Enum,), {}) AutoIntEnum = auto_enum('AutoIntEnum', (IntEnum,), {}) class TestAutoNumber(AutoNumberedEnum): a = () b = 3 c = () class TestAutoInt(AutoIntEnum): a = () b = 3 c = ()
Example #2
Source File: test_enum.py From oss-ftp with MIT License | 5 votes |
def test_multiple_mixin_mro(self): class auto_enum(EnumMeta): def __new__(metacls, cls, bases, classdict): original_dict = classdict classdict = enum._EnumDict() for k, v in original_dict.items(): classdict[k] = v temp = type(classdict)() names = set(classdict._member_names) i = 0 for k in classdict._member_names: v = classdict[k] if v == (): v = i else: i = v i += 1 temp[k] = v for k, v in classdict.items(): if k not in names: temp[k] = v return super(auto_enum, metacls).__new__( metacls, cls, bases, temp) AutoNumberedEnum = auto_enum('AutoNumberedEnum', (Enum,), {}) AutoIntEnum = auto_enum('AutoIntEnum', (IntEnum,), {}) class TestAutoNumber(AutoNumberedEnum): a = () b = 3 c = () class TestAutoInt(AutoIntEnum): a = () b = 3 c = ()
Example #3
Source File: test.py From uroboroSQL-formatter with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_multiple_mixin_mro(self): class auto_enum(EnumMeta): def __new__(metacls, cls, bases, classdict): original_dict = classdict classdict = enum._EnumDict() for k, v in original_dict.items(): classdict[k] = v temp = type(classdict)() names = set(classdict._member_names) i = 0 for k in classdict._member_names: v = classdict[k] if v == (): v = i else: i = v i += 1 temp[k] = v for k, v in classdict.items(): if k not in names: temp[k] = v return super(auto_enum, metacls).__new__( metacls, cls, bases, temp) AutoNumberedEnum = auto_enum('AutoNumberedEnum', (Enum,), {}) AutoIntEnum = auto_enum('AutoIntEnum', (IntEnum,), {}) class TestAutoNumber(AutoNumberedEnum): a = () b = 3 c = () class TestAutoInt(AutoIntEnum): a = () b = 3 c = ()
Example #4
Source File: test.py From bazarr with GNU General Public License v3.0 | 5 votes |
def test_multiple_mixin_mro(self): class auto_enum(EnumMeta): def __new__(metacls, cls, bases, classdict): original_dict = classdict classdict = enum._EnumDict() for k, v in original_dict.items(): classdict[k] = v temp = type(classdict)() names = set(classdict._member_names) i = 0 for k in classdict._member_names: v = classdict[k] if v == (): v = i else: i = v i += 1 temp[k] = v for k, v in classdict.items(): if k not in names: temp[k] = v return super(auto_enum, metacls).__new__( metacls, cls, bases, temp) AutoNumberedEnum = auto_enum('AutoNumberedEnum', (Enum,), {}) AutoIntEnum = auto_enum('AutoIntEnum', (IntEnum,), {}) class TestAutoNumber(AutoNumberedEnum): a = () b = 3 c = () class TestAutoInt(AutoIntEnum): a = () b = 3 c = ()
Example #5
Source File: __init__.py From python-pachyderm with Apache License 2.0 | 4 votes |
def _import_protos(path): """ Imports items selectively from the auto-generated proto package. Importing is done dynamically so we can selectively blacklist items. We also dynamically define enums that build on top of the auto-generated protobuf enums, to create a more pythonic API. More broadly, the dark magic in here allows us to maintain parity with Pachyderm protobufs when they change, without having to maintain a manual mapping of protobuf to python_pachyderm values. """ g = globals() module = _importlib.import_module(path) uppercase_letters = set(_string.ascii_uppercase) lowercase_letters = set(_string.ascii_lowercase) def import_item(g, module, key): value = getattr(module, key) if isinstance(value, _EnumTypeWrapper): # Dynamically define an enum class that is exported enum_values = _enum._EnumDict() enum_values.update(dict(value.items())) enum_class = type(key, (_enum.IntEnum,), enum_values) g[key] = enum_class else: # Export the value g[key] = value __all__.append(key) def should_import(key): return key[0] in uppercase_letters and any(c in lowercase_letters for c in key[1:]) for key in dir(module): if should_import(key): import_item(g, module, key) elif key.startswith("google_dot_protobuf_dot_"): sub_module = getattr(module, key) for key in dir(sub_module): if should_import(key): import_item(g, sub_module, key)