Skip to content

Commit 2ee33ce

Browse files
ccordoba12blink1073pre-commit-ci[bot]
authored
Make Qtconsole work with PyZMQ 25 (#914)
Co-authored-by: Steven Silvester <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 1f8bed3 commit 2ee33ce

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

jupyter_client/threaded.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def __init__(
7171
def setup_stream():
7272
assert self.socket is not None
7373
self.stream = zmqstream.ZMQStream(self.socket, self.ioloop)
74-
self.stream.on_recv(self._handle_recv) # type:ignore[arg-type]
74+
self.stream.on_recv(self._handle_recv)
7575
evt.set()
7676

7777
assert self.ioloop is not None
@@ -115,21 +115,24 @@ def thread_send():
115115
assert self.ioloop is not None
116116
self.ioloop.add_callback(thread_send)
117117

118-
def _handle_recv(self, future_msg: Awaitable) -> None:
118+
def _handle_recv(self, msg: Union[List[bytes], Awaitable]) -> None:
119119
"""Callback for stream.on_recv.
120120
121121
Unpacks message, and calls handlers with it.
122122
"""
123-
assert self.ioloop is not None
124-
loop = self.ioloop._asyncio_event_loop # type:ignore[attr-defined]
125-
msg_list = loop.run_until_complete(get_msg(future_msg))
123+
if asyncio.isfuture(msg):
124+
assert self.ioloop is not None
125+
loop = self.ioloop._asyncio_event_loop # type:ignore[attr-defined]
126+
msg_list = loop.run_until_complete(get_msg(msg))
127+
else:
128+
msg_list = msg
126129
assert self.session is not None
127130
ident, smsg = self.session.feed_identities(msg_list)
128-
msg = self.session.deserialize(smsg)
131+
new_msg = self.session.deserialize(smsg)
129132
# let client inspect messages
130133
if self._inspect:
131-
self._inspect(msg)
132-
self.call_handlers(msg)
134+
self._inspect(new_msg)
135+
self.call_handlers(new_msg)
133136

134137
def call_handlers(self, msg: Dict[str, Any]) -> None:
135138
"""This method is called in the ioloop thread when a message arrives.

0 commit comments

Comments
 (0)