in google/generativeai/notebook/flag_def.py [0:0]
def __init__(self, *args, enum_type: type[enum.Enum], **kwargs):
if not issubclass(enum_type, enum.Enum):
raise TypeError('"enum_type" must be of type Enum')
# These properties are set by "enum_type" so don"t let the caller set them.
if "parse_type" in kwargs:
raise ValueError('Cannot set "parse_type" for EnumFlagDef; set "enum_type" instead')
kwargs["parse_type"] = str
if "dest_type" in kwargs:
raise ValueError('Cannot set "dest_type" for EnumFlagDef; set "enum_type" instead')
kwargs["dest_type"] = enum_type
if "choices" in kwargs:
# Verify that entries in `choices` are valid enum values.
for x in kwargs["choices"]:
try:
enum_type(x)
except ValueError:
raise ValueError('Invalid value in "choices": "{}"'.format(x)) from None
else:
kwargs["choices"] = [x.value for x in enum_type]
super().__init__(*args, **kwargs)