##// END OF EJS Templates
Catch interrupted poll() in terminal console...
Catch interrupted poll() in terminal console Alternative to my own PR #8108 - catch ZMQError in run_cell, and if it's caused by an interrupt, ignore it. more complex, especially if we want to handle the timeout nicely as proposed in the comments, but it's possibly also more convenient for other users of that API. Or perhaps not - I'm not sure what makes sense for other API consumers in this case. Fixes gh-8105

File last commit:

r16707:98d54694
r20836:0b3b28de
Show More
convert.py
61 lines | 2.0 KiB | text/x-python | PythonLexer
Brian E. Granger
More review changes....
r4609 """Code for converting notebooks to and from the v2 format.
Authors:
* Brian Granger
Jonathan Frederic
Notebook version conversions done right?
r12493 * Jonathan Frederic
Brian E. Granger
More review changes....
r4609 """
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2011 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Brian E. Granger
Full versioning added to nbformat.
r4406 from .nbbase import (
Brian E. Granger
Markdown cells are now saved and restored in notebooks.
r4511 new_code_cell, new_text_cell, new_worksheet, new_notebook, new_output
Brian E. Granger
Full versioning added to nbformat.
r4406 )
Brian E. Granger
More review changes....
r4609 #-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
Jonathan Frederic
Notebook version conversions done right?
r12493 def upgrade(nb, from_version=1):
Brian E. Granger
More review changes....
r4609 """Convert a notebook to the v2 format.
Parameters
----------
nb : NotebookNode
The Python representation of the notebook to convert.
MinRK
fix typo in v2 convert...
r16707 from_version : int
The version of the notebook to convert from.
Brian E. Granger
More review changes....
r4609 """
MinRK
fix typo in v2 convert...
r16707 if from_version == 1:
Brian E. Granger
Full versioning added to nbformat.
r4406 newnb = new_notebook()
ws = new_worksheet()
for cell in nb.cells:
Brian E. Granger
Markdown cells are now saved and restored in notebooks.
r4511 if cell.cell_type == u'code':
Brian E. Granger
Full versioning added to nbformat.
r4406 newcell = new_code_cell(input=cell.get('code'),prompt_number=cell.get('prompt_number'))
Brian E. Granger
Markdown cells are now saved and restored in notebooks.
r4511 elif cell.cell_type == u'text':
newcell = new_text_cell(u'markdown',source=cell.get('text'))
Brian E. Granger
Full versioning added to nbformat.
r4406 ws.cells.append(newcell)
newnb.worksheets.append(ws)
return newnb
else:
MinRK
fix typo in v2 convert...
r16707 raise ValueError('Cannot convert a notebook from v%s to v2' % from_version)
Brian E. Granger
Full versioning added to nbformat.
r4406
Jonathan Frederic
Notebook version conversions done right?
r12493
def downgrade(nb):
"""Convert a v2 notebook to v1.
Parameters
----------
nb : NotebookNode
The Python representation of the notebook to convert.
"""
raise Exception("Downgrade from notebook v2 to v1 is not supported.")