from enum import Enum, EnumMeta
from q2_sdk.models.demographic import AddressType
class AddressTypeMeta(EnumMeta):
_q2_address_to_osi = {
AddressType.HOME: "PRI",
AddressType.BUSINESS: "BUS",
AddressType.VACATION: "SEA",
}
def __call__(cls, value, *args, **kw):
if isinstance(value, str):
value = cls._q2_address_to_osi.get(value, value)
return super().__call__(value, *args, **kw)
[docs]
class OSIAddressType(Enum, metaclass=AddressTypeMeta):
Primary = "PRI"
Home = "HOME"
Seasonal = "SEA"
Business = "BUS"
Statement = "STMT"
Tax = "IRS"
Alternate = "ALT"