initial commit

This commit is contained in:
Nico Melone
2023-08-24 17:49:47 -05:00
parent 23b7279c0f
commit 72d3f2c348
5422 changed files with 890638 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
from enum import IntEnum
class ParamEnum(IntEnum):
"""Wraps IntEnum to provide validation of a requested item.
Intended for enums used for function parameters.
Use enum.get_value(item) for this behavior instead of builtin enum[item].
"""
@classmethod
def get_value(cls, item):
"""Validate incoming item and raise a ValueError with valid options if not present."""
try:
return cls[item].value
except KeyError:
valid_options = {e.name for e in cls}
raise ValueError(
"'{}' is not a valid option, must be one of '{}'".format(
item, "', '".join(valid_options)
)
)