Skip to content

Commit a890505

Browse files
stephentoubCopilot
andcommitted
Use isinstance in Python event examples
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 8b557d0 commit a890505

1 file changed

Lines changed: 8 additions & 11 deletions

File tree

python/copilot/session.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1128,11 +1128,10 @@ async def send_and_wait(
11281128
Exception: If the session has been disconnected or the connection fails.
11291129
11301130
Example:
1131-
>>> from typing import cast
11321131
>>> from copilot.generated.session_events import AssistantMessageData
11331132
>>> response = await session.send_and_wait("What is 2+2?")
1134-
>>> if response:
1135-
... print(cast(AssistantMessageData, response.data).content)
1133+
>>> if response and isinstance(response.data, AssistantMessageData):
1134+
... print(response.data.content)
11361135
"""
11371136
idle_event = asyncio.Event()
11381137
error_event: Exception | None = None
@@ -1178,13 +1177,12 @@ def on(self, handler: Callable[[SessionEvent], None]) -> Callable[[], None]:
11781177
A function that, when called, unsubscribes the handler.
11791178
11801179
Example:
1181-
>>> from typing import cast
11821180
>>> from copilot.generated.session_events import AssistantMessageData, SessionErrorData
11831181
>>> def handle_event(event):
1184-
... if event.type.value == "assistant.message":
1185-
... print(f"Assistant: {cast(AssistantMessageData, event.data).content}")
1186-
... elif event.type.value == "session.error":
1187-
... print(f"Error: {cast(SessionErrorData, event.data).message}")
1182+
... if isinstance(event.data, AssistantMessageData):
1183+
... print(f"Assistant: {event.data.content}")
1184+
... elif isinstance(event.data, SessionErrorData):
1185+
... print(f"Error: {event.data.message}")
11881186
>>> unsubscribe = session.on(handle_event)
11891187
>>> # Later, to stop receiving events:
11901188
>>> unsubscribe()
@@ -1805,12 +1803,11 @@ async def get_messages(self) -> list[SessionEvent]:
18051803
Exception: If the session has been disconnected or the connection fails.
18061804
18071805
Example:
1808-
>>> from typing import cast
18091806
>>> from copilot.generated.session_events import AssistantMessageData
18101807
>>> events = await session.get_messages()
18111808
>>> for event in events:
1812-
... if event.type.value == "assistant.message":
1813-
... print(f"Assistant: {cast(AssistantMessageData, event.data).content}")
1809+
... if isinstance(event.data, AssistantMessageData):
1810+
... print(f"Assistant: {event.data.content}")
18141811
"""
18151812
response = await self._client.request("session.getMessages", {"sessionId": self.session_id})
18161813
# Convert dict events to SessionEvent objects

0 commit comments

Comments
 (0)