Show More
@@ -159,6 +159,8 class ZMQTerminalInteractiveShell(TerminalInteractiveShell): | |||
|
159 | 159 | should be set to False. |
|
160 | 160 | """ |
|
161 | 161 | if (not cell) or cell.isspace(): |
|
162 | # pressing enter flushes any pending display | |
|
163 | self.handle_iopub() | |
|
162 | 164 | return |
|
163 | 165 | |
|
164 | 166 | if cell.strip() == 'exit': |
@@ -180,7 +182,6 class ZMQTerminalInteractiveShell(TerminalInteractiveShell): | |||
|
180 | 182 | except Empty: |
|
181 | 183 | # display intermediate print statements, etc. |
|
182 | 184 | self.handle_iopub(msg_id) |
|
183 | pass | |
|
184 | 185 | |
|
185 | 186 | # after all of that is done, wait for the execute reply |
|
186 | 187 | while self.client.is_alive(): |
@@ -222,26 +223,22 class ZMQTerminalInteractiveShell(TerminalInteractiveShell): | |||
|
222 | 223 | self.execution_count = int(content["execution_count"] + 1) |
|
223 | 224 | |
|
224 | 225 | |
|
225 | def handle_iopub(self, msg_id): | |
|
226 | """ Method to process subscribe channel's messages | |
|
226 | def handle_iopub(self, msg_id=''): | |
|
227 | """Process messages on the IOPub channel | |
|
227 | 228 | |
|
228 | 229 | This method consumes and processes messages on the IOPub channel, |
|
229 | 230 | such as stdout, stderr, pyout and status. |
|
230 | 231 | |
|
231 |
It only displays output that is caused by th |
|
|
232 | It only displays output that is caused by this session. | |
|
232 | 233 | """ |
|
233 | 234 | while self.client.iopub_channel.msg_ready(): |
|
234 | 235 | sub_msg = self.client.iopub_channel.get_msg() |
|
235 | 236 | msg_type = sub_msg['header']['msg_type'] |
|
236 | 237 | parent = sub_msg["parent_header"] |
|
237 | if (not parent) or msg_id == parent['msg_id']: | |
|
238 | ||
|
239 | if parent.get("session", self.session_id) == self.session_id: | |
|
238 | 240 | if msg_type == 'status': |
|
239 |
|
|
|
240 | # idle messages mean an individual sequence is complete, | |
|
241 | # so break out of consumption to allow other things to take over. | |
|
242 | if state == 'idle': | |
|
243 | break | |
|
244 | ||
|
241 | self._execution_state = sub_msg["content"]["execution_state"] | |
|
245 | 242 | elif msg_type == 'stream': |
|
246 | 243 | if sub_msg["content"]["name"] == "stdout": |
|
247 | 244 | print(sub_msg["content"]["data"], file=io.stdout, end="") |
General Comments 0
You need to be logged in to leave comments.
Login now