Show More
@@ -324,6 +324,8 b' class FrontendWidget(HistoryConsoleWidget, BaseFrontendMixin):' | |||
|
324 | 324 | |
|
325 | 325 | self._show_interpreter_prompt_for_reply(msg) |
|
326 | 326 | self.executed.emit(msg) |
|
327 | else: | |
|
328 | super(FrontendWidget, self)._handle_execute_reply(msg) | |
|
327 | 329 | |
|
328 | 330 | def _handle_input_request(self, msg): |
|
329 | 331 | """ Handle requests for raw_input. |
@@ -219,16 +219,44 b' class HistoryConsoleWidget(ConsoleWidget):' | |||
|
219 | 219 | def history_magic(self): |
|
220 | 220 | self.pasteMagic("%history") |
|
221 | 221 | |
|
222 | def _request_update_session_history_length(self): | |
|
223 | msg_id = self.kernel_manager.shell_channel.execute('', | |
|
224 | silent=True, | |
|
225 | user_expressions={ | |
|
226 | 'hlen':'len(get_ipython().history_manager.input_hist_raw)', | |
|
227 | } | |
|
228 | ) | |
|
229 | self._request_info['execute'] = self._ExecutionRequest(msg_id, 'save_magic') | |
|
230 | ||
|
231 | def _handle_execute_reply(self, msg): | |
|
232 | """ Handles replies for code execution, here only session history length | |
|
233 | """ | |
|
234 | info = self._request_info.get('execute') | |
|
235 | if info and info.id == msg['parent_header']['msg_id'] and \ | |
|
236 | info.kind == 'save_magic' and not self._hidden: | |
|
237 | content = msg['content'] | |
|
238 | status = content['status'] | |
|
239 | if status == 'ok': | |
|
240 | self._max_session_history=(int(content['user_expressions']['hlen'])) | |
|
241 | ||
|
222 | 242 | def save_magic(self): |
|
223 | file_name, ok = QtGui.QInputDialog.getText(self, | |
|
224 | 'Enter A file Name', | |
|
225 | 'Please enter a filename to wich export the history as python file:', | |
|
226 | text='untilted.py') | |
|
227 | if ok: | |
|
243 | # update the session history length | |
|
244 | self._request_update_session_history_length() | |
|
245 | ||
|
246 | file_name,extFilter = QtGui.QFileDialog.getSaveFileName(self, | |
|
247 | "Enter A filename", | |
|
248 | filter='Python File (*.py);; All files (*.*)' | |
|
249 | ) | |
|
250 | ||
|
251 | # let's the user search/type for a file name, while the history length | |
|
252 | # is fetched | |
|
253 | ||
|
254 | if file_name: | |
|
228 | 255 | hist_range, ok = QtGui.QInputDialog.getText(self, |
|
229 | 256 | 'Please enter an interval of command to save', |
|
230 | 257 | 'Saving commands:', |
|
231 | text='1-500') | |
|
258 | text=str('1-'+str(self._max_session_history)) | |
|
259 | ) | |
|
232 | 260 | if ok: |
|
233 | 261 | self.pasteMagic("%save"+" "+file_name+" "+str(hist_range)) |
|
234 | 262 |
General Comments 0
You need to be logged in to leave comments.
Login now