Exemplo n.º 1
0
def create_permission_enum(key, member_names):
    """Create a permission enum."""
    name = derive_name(key)
    permission_enum = Enum(name, list(member_names))
    permission_enum.__key__ = key
    permission_enum.__repr__ = lambda self: '<{}>'.format(self)
    return permission_enum
Exemplo n.º 2
0
def create_permission_enum(key: str, member_names: List[str]) -> Enum:
    """Create a permission enum."""
    name = derive_name(key)

    permission_enum = Enum(name, list(member_names))
    permission_enum.__key__ = key
    permission_enum.__repr__ = lambda self: f'<{self}>'

    return permission_enum
Exemplo n.º 3
0
def make_str_enum(name: str, values: List[str], doc: str = "") -> Type[str]:
    """Makes a string enumeration with particuluar values."""

    T = Enum(name, {v: v for v in values}, qualname=name, type=str)

    def __repr__(self: T) -> str:
        cn = type(self).__qualname__
        return f"{cn}({self.value!r})"

    T.__repr__ = __repr__
    T.__doc__ = doc

    return T