##// END OF EJS Templates
add lookup logic based on apptools.type_registry...
add lookup logic based on apptools.type_registry adds - formatter.lookup(instance) - formatter.lookup_by_type(type_or_type_string) - formatter.pop(type_or_type_string) changes: - support 'module.name' in formatter.for_type

File last commit:

r12493:45906317
r13781:b62587d8
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.
orig_version : int
The original version of the notebook to convert.
"""
Brian E. Granger
Full versioning added to nbformat.
r4406 if orig_version == 1:
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:
raise ValueError('Cannot convert a notebook from v%s to v2' % orig_version)
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.")