Source code for q2_cores.OSI.models.address

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"