diff --git a/README.md b/README.md index c422227c..e7a4ad2b 100644 --- a/README.md +++ b/README.md @@ -258,4 +258,5 @@ while response.next is not None: + diff --git a/poetry.lock b/poetry.lock index 46f7b7b8..250aaae2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -38,13 +38,13 @@ trio = ["trio (>=0.26.1)"] [[package]] name = "certifi" -version = "2026.4.22" +version = "2026.6.17" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.7" files = [ - {file = "certifi-2026.4.22-py3-none-any.whl", hash = "sha256:3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a"}, - {file = "certifi-2026.4.22.tar.gz", hash = "sha256:8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580"}, + {file = "certifi-2026.6.17-py3-none-any.whl", hash = "sha256:2227dcbaafe0d2f59279d1762ddddc37783ed4354594f194ffc31d20f41fc3db"}, + {file = "certifi-2026.6.17.tar.gz", hash = "sha256:024c88eeec92ca068db80f02b8b07c9cef7b9fe261d1d535abfd5abd6f6af432"}, ] [[package]] @@ -133,13 +133,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "idna" -version = "3.14" +version = "3.15" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.8" files = [ - {file = "idna-3.14-py3-none-any.whl", hash = "sha256:e677eaf072e290f7b725f9acf0b3a2bd55f9fd6f7c70abe5f0e34823d0accf69"}, - {file = "idna-3.14.tar.gz", hash = "sha256:466d810d7a2cc1022bea9b037c39728d51ae7dad40d480fc9b7d7ecf98ba8ee3"}, + {file = "idna-3.15-py3-none-any.whl", hash = "sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8"}, + {file = "idna-3.15.tar.gz", hash = "sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc"}, ] [package.extras] diff --git a/pyproject.toml b/pyproject.toml index 8fc8bf4a..f7ed8747 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ name = "MergePythonClient" [tool.poetry] name = "MergePythonClient" -version = "3.1.0a2" +version = "3.1.0a3" description = "" readme = "README.md" authors = [] diff --git a/reference.md b/reference.md index b3dfff17..d2dec8ac 100644 --- a/reference.md +++ b/reference.md @@ -54440,9 +54440,6 @@ Returns a list of `Invitee` objects. ```python from merge import Merge -from merge.resources.calendar.resources.events import ( - EventsInviteesListRequestExpand, -) client = Merge( account_token="YOUR_ACCOUNT_TOKEN", @@ -54451,7 +54448,6 @@ client = Merge( client.calendar.events.invitees_list( event_id="event_id", cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - expand=EventsInviteesListRequestExpand.EVENT, include_deleted_data=True, include_remote_data=True, include_shell_data=True, @@ -54488,7 +54484,12 @@ client.calendar.events.invitees_list(
-**expand:** `typing.Optional[EventsInviteesListRequestExpand]` — Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. +**expand:** `typing.Optional[ + typing.Union[ + EventsInviteesListRequestExpandItem, + typing.Sequence[EventsInviteesListRequestExpandItem], + ] +]` — Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
@@ -54612,7 +54613,11 @@ client.calendar.events.locations_list(
-**expand:** `typing.Optional[typing.Literal["event"]]` — Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. +**expand:** `typing.Optional[ + typing.Union[ + typing.Literal["event"], typing.Sequence[typing.Literal["event"]] + ] +]` — Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
diff --git a/src/merge/core/client_wrapper.py b/src/merge/core/client_wrapper.py index a6cf4ac5..1e729a6e 100644 --- a/src/merge/core/client_wrapper.py +++ b/src/merge/core/client_wrapper.py @@ -24,10 +24,10 @@ def __init__( def get_headers(self) -> typing.Dict[str, str]: headers: typing.Dict[str, str] = { - "User-Agent": "MergePythonClient/3.1.0a2", + "User-Agent": "MergePythonClient/3.1.0a3", "X-Fern-Language": "Python", "X-Fern-SDK-Name": "MergePythonClient", - "X-Fern-SDK-Version": "3.1.0a2", + "X-Fern-SDK-Version": "3.1.0a3", **(self.get_custom_headers() or {}), } if self._account_token is not None: diff --git a/src/merge/resources/calendar/__init__.py b/src/merge/resources/calendar/__init__.py index 251636c3..a375ea5c 100644 --- a/src/merge/resources/calendar/__init__.py +++ b/src/merge/resources/calendar/__init__.py @@ -126,7 +126,7 @@ CalendarsListRequestType, EndUserDetailsRequestCompletedAccountInitialScreen, EndUserDetailsRequestLanguage, - EventsInviteesListRequestExpand, + EventsInviteesListRequestExpandItem, EventsListRequestExpandItem, EventsRetrieveRequestExpandItem, GroupsListRequestExpandItem, @@ -198,7 +198,7 @@ "Event": ".types", "EventFieldMappings": ".types", "EventTypeEnum": ".types", - "EventsInviteesListRequestExpand": ".resources", + "EventsInviteesListRequestExpandItem": ".resources", "EventsListRequestExpandItem": ".resources", "EventsRetrieveRequestExpandItem": ".resources", "ExternalTargetFieldApi": ".types", @@ -367,7 +367,7 @@ def __dir__(): "Event", "EventFieldMappings", "EventTypeEnum", - "EventsInviteesListRequestExpand", + "EventsInviteesListRequestExpandItem", "EventsListRequestExpandItem", "EventsRetrieveRequestExpandItem", "ExternalTargetFieldApi", diff --git a/src/merge/resources/calendar/resources/__init__.py b/src/merge/resources/calendar/resources/__init__.py index cdc79661..9022a9e2 100644 --- a/src/merge/resources/calendar/resources/__init__.py +++ b/src/merge/resources/calendar/resources/__init__.py @@ -32,7 +32,11 @@ ) from .async_passthrough import AsyncPassthroughRetrieveResponse from .calendars import CalendarsListRequestType - from .events import EventsInviteesListRequestExpand, EventsListRequestExpandItem, EventsRetrieveRequestExpandItem + from .events import ( + EventsInviteesListRequestExpandItem, + EventsListRequestExpandItem, + EventsRetrieveRequestExpandItem, + ) from .groups import GroupsListRequestExpandItem, GroupsRetrieveRequestExpandItem from .issues import IssuesListRequestStatus from .link_token import EndUserDetailsRequestCompletedAccountInitialScreen, EndUserDetailsRequestLanguage @@ -42,7 +46,7 @@ "CalendarsListRequestType": ".calendars", "EndUserDetailsRequestCompletedAccountInitialScreen": ".link_token", "EndUserDetailsRequestLanguage": ".link_token", - "EventsInviteesListRequestExpand": ".events", + "EventsInviteesListRequestExpandItem": ".events", "EventsListRequestExpandItem": ".events", "EventsRetrieveRequestExpandItem": ".events", "GroupsListRequestExpandItem": ".groups", @@ -98,7 +102,7 @@ def __dir__(): "CalendarsListRequestType", "EndUserDetailsRequestCompletedAccountInitialScreen", "EndUserDetailsRequestLanguage", - "EventsInviteesListRequestExpand", + "EventsInviteesListRequestExpandItem", "EventsListRequestExpandItem", "EventsRetrieveRequestExpandItem", "GroupsListRequestExpandItem", diff --git a/src/merge/resources/calendar/resources/events/__init__.py b/src/merge/resources/calendar/resources/events/__init__.py index aff733e7..5281b077 100644 --- a/src/merge/resources/calendar/resources/events/__init__.py +++ b/src/merge/resources/calendar/resources/events/__init__.py @@ -6,9 +6,9 @@ from importlib import import_module if typing.TYPE_CHECKING: - from .types import EventsInviteesListRequestExpand, EventsListRequestExpandItem, EventsRetrieveRequestExpandItem + from .types import EventsInviteesListRequestExpandItem, EventsListRequestExpandItem, EventsRetrieveRequestExpandItem _dynamic_imports: typing.Dict[str, str] = { - "EventsInviteesListRequestExpand": ".types", + "EventsInviteesListRequestExpandItem": ".types", "EventsListRequestExpandItem": ".types", "EventsRetrieveRequestExpandItem": ".types", } @@ -33,4 +33,4 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["EventsInviteesListRequestExpand", "EventsListRequestExpandItem", "EventsRetrieveRequestExpandItem"] +__all__ = ["EventsInviteesListRequestExpandItem", "EventsListRequestExpandItem", "EventsRetrieveRequestExpandItem"] diff --git a/src/merge/resources/calendar/resources/events/client.py b/src/merge/resources/calendar/resources/events/client.py index 0d6bf75e..09d5e8c8 100644 --- a/src/merge/resources/calendar/resources/events/client.py +++ b/src/merge/resources/calendar/resources/events/client.py @@ -10,7 +10,7 @@ from ...types.paginated_invitee_list import PaginatedInviteeList from ...types.paginated_location_list import PaginatedLocationList from .raw_client import AsyncRawEventsClient, RawEventsClient -from .types.events_invitees_list_request_expand import EventsInviteesListRequestExpand +from .types.events_invitees_list_request_expand_item import EventsInviteesListRequestExpandItem from .types.events_list_request_expand_item import EventsListRequestExpandItem from .types.events_retrieve_request_expand_item import EventsRetrieveRequestExpandItem @@ -198,7 +198,9 @@ def invitees_list( event_id: str, *, cursor: typing.Optional[str] = None, - expand: typing.Optional[EventsInviteesListRequestExpand] = None, + expand: typing.Optional[ + typing.Union[EventsInviteesListRequestExpandItem, typing.Sequence[EventsInviteesListRequestExpandItem]] + ] = None, include_deleted_data: typing.Optional[bool] = None, include_remote_data: typing.Optional[bool] = None, include_shell_data: typing.Optional[bool] = None, @@ -215,7 +217,7 @@ def invitees_list( cursor : typing.Optional[str] The pagination cursor value. - expand : typing.Optional[EventsInviteesListRequestExpand] + expand : typing.Optional[typing.Union[EventsInviteesListRequestExpandItem, typing.Sequence[EventsInviteesListRequestExpandItem]]] Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. include_deleted_data : typing.Optional[bool] @@ -241,9 +243,6 @@ def invitees_list( Examples -------- from merge import Merge - from merge.resources.calendar.resources.events import ( - EventsInviteesListRequestExpand, - ) client = Merge( account_token="YOUR_ACCOUNT_TOKEN", @@ -252,7 +251,6 @@ def invitees_list( client.calendar.events.invitees_list( event_id="event_id", cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - expand=EventsInviteesListRequestExpand.EVENT, include_deleted_data=True, include_remote_data=True, include_shell_data=True, @@ -276,7 +274,7 @@ def locations_list( event_id: str, *, cursor: typing.Optional[str] = None, - expand: typing.Optional[typing.Literal["event"]] = None, + expand: typing.Optional[typing.Union[typing.Literal["event"], typing.Sequence[typing.Literal["event"]]]] = None, include_deleted_data: typing.Optional[bool] = None, include_remote_data: typing.Optional[bool] = None, include_shell_data: typing.Optional[bool] = None, @@ -293,7 +291,7 @@ def locations_list( cursor : typing.Optional[str] The pagination cursor value. - expand : typing.Optional[typing.Literal["event"]] + expand : typing.Optional[typing.Union[typing.Literal["event"], typing.Sequence[typing.Literal["event"]]]] Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. include_deleted_data : typing.Optional[bool] @@ -594,7 +592,9 @@ async def invitees_list( event_id: str, *, cursor: typing.Optional[str] = None, - expand: typing.Optional[EventsInviteesListRequestExpand] = None, + expand: typing.Optional[ + typing.Union[EventsInviteesListRequestExpandItem, typing.Sequence[EventsInviteesListRequestExpandItem]] + ] = None, include_deleted_data: typing.Optional[bool] = None, include_remote_data: typing.Optional[bool] = None, include_shell_data: typing.Optional[bool] = None, @@ -611,7 +611,7 @@ async def invitees_list( cursor : typing.Optional[str] The pagination cursor value. - expand : typing.Optional[EventsInviteesListRequestExpand] + expand : typing.Optional[typing.Union[EventsInviteesListRequestExpandItem, typing.Sequence[EventsInviteesListRequestExpandItem]]] Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. include_deleted_data : typing.Optional[bool] @@ -639,9 +639,6 @@ async def invitees_list( import asyncio from merge import AsyncMerge - from merge.resources.calendar.resources.events import ( - EventsInviteesListRequestExpand, - ) client = AsyncMerge( account_token="YOUR_ACCOUNT_TOKEN", @@ -653,7 +650,6 @@ async def main() -> None: await client.calendar.events.invitees_list( event_id="event_id", cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - expand=EventsInviteesListRequestExpand.EVENT, include_deleted_data=True, include_remote_data=True, include_shell_data=True, @@ -680,7 +676,7 @@ async def locations_list( event_id: str, *, cursor: typing.Optional[str] = None, - expand: typing.Optional[typing.Literal["event"]] = None, + expand: typing.Optional[typing.Union[typing.Literal["event"], typing.Sequence[typing.Literal["event"]]]] = None, include_deleted_data: typing.Optional[bool] = None, include_remote_data: typing.Optional[bool] = None, include_shell_data: typing.Optional[bool] = None, @@ -697,7 +693,7 @@ async def locations_list( cursor : typing.Optional[str] The pagination cursor value. - expand : typing.Optional[typing.Literal["event"]] + expand : typing.Optional[typing.Union[typing.Literal["event"], typing.Sequence[typing.Literal["event"]]]] Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. include_deleted_data : typing.Optional[bool] diff --git a/src/merge/resources/calendar/resources/events/raw_client.py b/src/merge/resources/calendar/resources/events/raw_client.py index ba83c808..5fbebbc2 100644 --- a/src/merge/resources/calendar/resources/events/raw_client.py +++ b/src/merge/resources/calendar/resources/events/raw_client.py @@ -15,7 +15,7 @@ from ...types.paginated_event_list import PaginatedEventList from ...types.paginated_invitee_list import PaginatedInviteeList from ...types.paginated_location_list import PaginatedLocationList -from .types.events_invitees_list_request_expand import EventsInviteesListRequestExpand +from .types.events_invitees_list_request_expand_item import EventsInviteesListRequestExpandItem from .types.events_list_request_expand_item import EventsListRequestExpandItem from .types.events_retrieve_request_expand_item import EventsRetrieveRequestExpandItem @@ -166,7 +166,9 @@ def invitees_list( event_id: str, *, cursor: typing.Optional[str] = None, - expand: typing.Optional[EventsInviteesListRequestExpand] = None, + expand: typing.Optional[ + typing.Union[EventsInviteesListRequestExpandItem, typing.Sequence[EventsInviteesListRequestExpandItem]] + ] = None, include_deleted_data: typing.Optional[bool] = None, include_remote_data: typing.Optional[bool] = None, include_shell_data: typing.Optional[bool] = None, @@ -183,7 +185,7 @@ def invitees_list( cursor : typing.Optional[str] The pagination cursor value. - expand : typing.Optional[EventsInviteesListRequestExpand] + expand : typing.Optional[typing.Union[EventsInviteesListRequestExpandItem, typing.Sequence[EventsInviteesListRequestExpandItem]]] Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. include_deleted_data : typing.Optional[bool] @@ -239,7 +241,7 @@ def locations_list( event_id: str, *, cursor: typing.Optional[str] = None, - expand: typing.Optional[typing.Literal["event"]] = None, + expand: typing.Optional[typing.Union[typing.Literal["event"], typing.Sequence[typing.Literal["event"]]]] = None, include_deleted_data: typing.Optional[bool] = None, include_remote_data: typing.Optional[bool] = None, include_shell_data: typing.Optional[bool] = None, @@ -256,7 +258,7 @@ def locations_list( cursor : typing.Optional[str] The pagination cursor value. - expand : typing.Optional[typing.Literal["event"]] + expand : typing.Optional[typing.Union[typing.Literal["event"], typing.Sequence[typing.Literal["event"]]]] Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. include_deleted_data : typing.Optional[bool] @@ -514,7 +516,9 @@ async def invitees_list( event_id: str, *, cursor: typing.Optional[str] = None, - expand: typing.Optional[EventsInviteesListRequestExpand] = None, + expand: typing.Optional[ + typing.Union[EventsInviteesListRequestExpandItem, typing.Sequence[EventsInviteesListRequestExpandItem]] + ] = None, include_deleted_data: typing.Optional[bool] = None, include_remote_data: typing.Optional[bool] = None, include_shell_data: typing.Optional[bool] = None, @@ -531,7 +535,7 @@ async def invitees_list( cursor : typing.Optional[str] The pagination cursor value. - expand : typing.Optional[EventsInviteesListRequestExpand] + expand : typing.Optional[typing.Union[EventsInviteesListRequestExpandItem, typing.Sequence[EventsInviteesListRequestExpandItem]]] Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. include_deleted_data : typing.Optional[bool] @@ -587,7 +591,7 @@ async def locations_list( event_id: str, *, cursor: typing.Optional[str] = None, - expand: typing.Optional[typing.Literal["event"]] = None, + expand: typing.Optional[typing.Union[typing.Literal["event"], typing.Sequence[typing.Literal["event"]]]] = None, include_deleted_data: typing.Optional[bool] = None, include_remote_data: typing.Optional[bool] = None, include_shell_data: typing.Optional[bool] = None, @@ -604,7 +608,7 @@ async def locations_list( cursor : typing.Optional[str] The pagination cursor value. - expand : typing.Optional[typing.Literal["event"]] + expand : typing.Optional[typing.Union[typing.Literal["event"], typing.Sequence[typing.Literal["event"]]]] Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. include_deleted_data : typing.Optional[bool] diff --git a/src/merge/resources/calendar/resources/events/types/__init__.py b/src/merge/resources/calendar/resources/events/types/__init__.py index 841fa107..cef851bc 100644 --- a/src/merge/resources/calendar/resources/events/types/__init__.py +++ b/src/merge/resources/calendar/resources/events/types/__init__.py @@ -6,11 +6,11 @@ from importlib import import_module if typing.TYPE_CHECKING: - from .events_invitees_list_request_expand import EventsInviteesListRequestExpand + from .events_invitees_list_request_expand_item import EventsInviteesListRequestExpandItem from .events_list_request_expand_item import EventsListRequestExpandItem from .events_retrieve_request_expand_item import EventsRetrieveRequestExpandItem _dynamic_imports: typing.Dict[str, str] = { - "EventsInviteesListRequestExpand": ".events_invitees_list_request_expand", + "EventsInviteesListRequestExpandItem": ".events_invitees_list_request_expand_item", "EventsListRequestExpandItem": ".events_list_request_expand_item", "EventsRetrieveRequestExpandItem": ".events_retrieve_request_expand_item", } @@ -35,4 +35,4 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["EventsInviteesListRequestExpand", "EventsListRequestExpandItem", "EventsRetrieveRequestExpandItem"] +__all__ = ["EventsInviteesListRequestExpandItem", "EventsListRequestExpandItem", "EventsRetrieveRequestExpandItem"] diff --git a/src/merge/resources/calendar/resources/events/types/events_invitees_list_request_expand.py b/src/merge/resources/calendar/resources/events/types/events_invitees_list_request_expand.py deleted file mode 100644 index ede6c4c7..00000000 --- a/src/merge/resources/calendar/resources/events/types/events_invitees_list_request_expand.py +++ /dev/null @@ -1,41 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import enum -import typing - -T_Result = typing.TypeVar("T_Result") - - -class EventsInviteesListRequestExpand(str, enum.Enum): - EVENT = "event" - EVENT_GROUP = "event,group" - EVENT_USER = "event,user" - EVENT_USER_GROUP = "event,user,group" - GROUP = "group" - USER = "user" - USER_GROUP = "user,group" - - def visit( - self, - event: typing.Callable[[], T_Result], - event_group: typing.Callable[[], T_Result], - event_user: typing.Callable[[], T_Result], - event_user_group: typing.Callable[[], T_Result], - group: typing.Callable[[], T_Result], - user: typing.Callable[[], T_Result], - user_group: typing.Callable[[], T_Result], - ) -> T_Result: - if self is EventsInviteesListRequestExpand.EVENT: - return event() - if self is EventsInviteesListRequestExpand.EVENT_GROUP: - return event_group() - if self is EventsInviteesListRequestExpand.EVENT_USER: - return event_user() - if self is EventsInviteesListRequestExpand.EVENT_USER_GROUP: - return event_user_group() - if self is EventsInviteesListRequestExpand.GROUP: - return group() - if self is EventsInviteesListRequestExpand.USER: - return user() - if self is EventsInviteesListRequestExpand.USER_GROUP: - return user_group() diff --git a/src/merge/resources/calendar/resources/events/types/events_invitees_list_request_expand_item.py b/src/merge/resources/calendar/resources/events/types/events_invitees_list_request_expand_item.py new file mode 100644 index 00000000..8db9dfad --- /dev/null +++ b/src/merge/resources/calendar/resources/events/types/events_invitees_list_request_expand_item.py @@ -0,0 +1,25 @@ +# This file was auto-generated by Fern from our API Definition. + +import enum +import typing + +T_Result = typing.TypeVar("T_Result") + + +class EventsInviteesListRequestExpandItem(str, enum.Enum): + EVENT = "event" + GROUP = "group" + USER = "user" + + def visit( + self, + event: typing.Callable[[], T_Result], + group: typing.Callable[[], T_Result], + user: typing.Callable[[], T_Result], + ) -> T_Result: + if self is EventsInviteesListRequestExpandItem.EVENT: + return event() + if self is EventsInviteesListRequestExpandItem.GROUP: + return group() + if self is EventsInviteesListRequestExpandItem.USER: + return user() diff --git a/src/merge/resources/calendar/types/location.py b/src/merge/resources/calendar/types/location.py index 4bde037c..67a5b6f7 100644 --- a/src/merge/resources/calendar/types/location.py +++ b/src/merge/resources/calendar/types/location.py @@ -34,7 +34,7 @@ class Location(UncheckedBaseModel): location_type: typing.Optional[LocationLocationType] = pydantic.Field(default=None) """ - The type of location. Possible values include: PHYSICAL, VIRTUAL, OTHER. + The type of location. Possible values include: PHYSICAL, VIRTUAL, UNKNOWN. """ name: typing.Optional[str] = pydantic.Field(default=None) diff --git a/src/merge/resources/calendar/types/location_type_enum.py b/src/merge/resources/calendar/types/location_type_enum.py index 245dda5c..c762b0b7 100644 --- a/src/merge/resources/calendar/types/location_type_enum.py +++ b/src/merge/resources/calendar/types/location_type_enum.py @@ -9,17 +9,17 @@ class LocationTypeEnum(str, enum.Enum): PHYSICAL = "PHYSICAL" VIRTUAL = "VIRTUAL" - OTHER = "OTHER" + UNKNOWN = "UNKNOWN" def visit( self, physical: typing.Callable[[], T_Result], virtual: typing.Callable[[], T_Result], - other: typing.Callable[[], T_Result], + unknown: typing.Callable[[], T_Result], ) -> T_Result: if self is LocationTypeEnum.PHYSICAL: return physical() if self is LocationTypeEnum.VIRTUAL: return virtual() - if self is LocationTypeEnum.OTHER: - return other() + if self is LocationTypeEnum.UNKNOWN: + return unknown()