Show More
@@ -1543,11 +1543,15 class Client(HasTraits): | |||
|
1543 | 1543 | if rec.get('received'): |
|
1544 | 1544 | md['received'] = rec['received'] |
|
1545 | 1545 | md.update(iodict) |
|
1546 | ||
|
1546 | ||
|
1547 | 1547 | if rcontent['status'] == 'ok': |
|
1548 | res,buffers = util.unserialize_object(buffers) | |
|
1548 | if header['msg_type'] == 'apply_reply': | |
|
1549 | res,buffers = util.unserialize_object(buffers) | |
|
1550 | elif header['msg_type'] == 'execute_reply': | |
|
1551 | res = ExecuteReply(msg_id, rcontent, md) | |
|
1552 | else: | |
|
1553 | raise KeyError("unhandled msg type: %r" % header[msg_type]) | |
|
1549 | 1554 | else: |
|
1550 | print rcontent | |
|
1551 | 1555 | res = self._unwrap_exception(rcontent) |
|
1552 | 1556 | failures.append(res) |
|
1553 | 1557 | |
@@ -1555,7 +1559,7 class Client(HasTraits): | |||
|
1555 | 1559 | content[msg_id] = res |
|
1556 | 1560 | |
|
1557 | 1561 | if len(theids) == 1 and failures: |
|
1558 |
|
|
|
1562 | raise failures[0] | |
|
1559 | 1563 | |
|
1560 | 1564 | error.collect_exceptions(failures, "result_status") |
|
1561 | 1565 | return content |
@@ -824,8 +824,15 class Hub(SessionFactory): | |||
|
824 | 824 | d['pyerr'] = content |
|
825 | 825 | elif msg_type == 'pyin': |
|
826 | 826 | d['pyin'] = content['code'] |
|
827 | elif msg_type in ('display_data', 'pyout'): | |
|
828 | d[msg_type] = content | |
|
829 | elif msg_type == 'status': | |
|
830 | pass | |
|
827 | 831 | else: |
|
828 | d[msg_type] = content.get('data', '') | |
|
832 | self.log.warn("unhandled iopub msg_type: %r", msg_type) | |
|
833 | ||
|
834 | if not d: | |
|
835 | return | |
|
829 | 836 | |
|
830 | 837 | try: |
|
831 | 838 | self.db.update_record(msg_id, d) |
@@ -159,6 +159,25 class TestClient(ClusterTestCase): | |||
|
159 | 159 | self.assertFalse(isinstance(ar2, AsyncHubResult)) |
|
160 | 160 | c.close() |
|
161 | 161 | |
|
162 | def test_get_execute_result(self): | |
|
163 | """test getting execute results from the Hub.""" | |
|
164 | c = clientmod.Client(profile='iptest') | |
|
165 | t = c.ids[-1] | |
|
166 | cell = '\n'.join([ | |
|
167 | 'import time', | |
|
168 | 'time.sleep(0.25)', | |
|
169 | '5' | |
|
170 | ]) | |
|
171 | ar = c[t].execute("import time; time.sleep(1)", silent=False) | |
|
172 | # give the monitor time to notice the message | |
|
173 | time.sleep(.25) | |
|
174 | ahr = self.client.get_result(ar.msg_ids) | |
|
175 | self.assertTrue(isinstance(ahr, AsyncHubResult)) | |
|
176 | self.assertEquals(ahr.get().pyout, ar.get().pyout) | |
|
177 | ar2 = self.client.get_result(ar.msg_ids) | |
|
178 | self.assertFalse(isinstance(ar2, AsyncHubResult)) | |
|
179 | c.close() | |
|
180 | ||
|
162 | 181 | def test_ids_list(self): |
|
163 | 182 | """test client.ids""" |
|
164 | 183 | ids = self.client.ids |
General Comments 0
You need to be logged in to leave comments.
Login now