HEX
Server: LiteSpeed
System: Linux s1080.usc1.mysecurecloudhost.com 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64
User: justofft (2594)
PHP: 7.3.33
Disabled: NONE
Upload Files
File: //usr/lib64/python3.6/site-packages/gssapi/raw/_enum_extensions/__init__.py
from enum import EnumMeta


_extra_values = {}


def register_value(cl_str, name, value):
    _extra_values[cl_str] = _extra_values.get(cl_str, {})
    _extra_values[cl_str][name] = value


class ExtendableEnum(EnumMeta):
    def __new__(metacl, name, bases, classdict):
        extra_vals = _extra_values.get(name)

        if extra_vals is not None:
            for extra_name, extra_val in list(extra_vals.items()):
                if extra_name in classdict:
                    raise AttributeError(
                        "Enumeration extensions cannot override existing "
                        "enumeration members")
                else:
                    classdict[extra_name] = extra_val

        return super(ExtendableEnum, metacl).__new__(metacl, name,
                                                     bases, classdict)