Python enum 模块,IntFlag() 实例源码

我们从Python开源项目中,提取了以下1个代码示例,用于说明如何使用enum.IntFlag()

项目:pg_query    作者:lelit    | 项目源码 | 文件源码
def determine_enum_type_and_value(enum):
    type = 'IntEnum'
    value = int_enum_value_factory

    for item in enum.values.enumerators:
        if item.value:
            if isinstance(item.value, c_ast.Constant) and item.value.type == 'char':
                type = 'str, Enum'
                value = char_enum_value_factory
                break
            elif isinstance(item.value, c_ast.BinaryOp) and item.value.op == '<<':
                type = 'IntFlag'
                break

    return type, value