Source code for q2_cores.OSI.models.phone

from enum import Enum, EnumMeta
from q2_sdk.models.demographic import PhoneType


class PhoneTypeMeta(EnumMeta):
    _q2_phone_to_osi = {
        PhoneType.PERSONAL: "PER",
        PhoneType.BUSINESS: "BUS",
        PhoneType.CELL: "CELL",
    }

    def __call__(cls, value, *args, **kw):
        if isinstance(value, str):
            value = cls._q2_phone_to_osi.get(value, value)
        return super().__call__(value, *args, **kw)


[docs] class OSIPhoneType(Enum, metaclass=PhoneTypeMeta): Personal = "PER" Cell = "CELL" Business = "BUS"