##// END OF EJS Templates
Merge pull request #1480 from minrk/npmagic...
Merge pull request #1480 from minrk/npmagic Fix %notebook magic, etc. nbformat unicode tests and fixes. * json.writes always gives unicode, so that `current.writes` can be trusted to give the same interface * setup base TestCase for nbformat tests, to consolidate code, and better test both file formats * add tests for reading/writing to files * allow `name` as kwarg to new_notebook to avoid unnecessary breakage of previous API. * remove fallback to xml, which would hide corrupt notebook files behind a nonsensical 'xml unsupported' message. Closes #1545, #1487.

File last commit:

r6061:cddb82ef
r6479:c4cf9403 merge
Show More
convert.py
51 lines | 1.6 KiB | text/x-python | PythonLexer
"""Code for converting notebooks to and from the v2 format.
Authors:
* Brian Granger
"""
#-----------------------------------------------------------------------------
# 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
#-----------------------------------------------------------------------------
from .nbbase import (
new_code_cell, new_text_cell, new_worksheet, new_notebook, new_output
)
from IPython.nbformat import v2
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
def convert_to_this_nbformat(nb, orig_version=2):
"""Convert a notebook to the v3 format.
Parameters
----------
nb : NotebookNode
The Python representation of the notebook to convert.
orig_version : int
The original version of the notebook to convert.
"""
if orig_version == 1:
nb = v2.convert_to_this_nbformat(nb)
orig_version = 2
if orig_version == 2:
# Mark the original nbformat so consumers know it has been converted.
nb.nbformat = 3
nb.orig_nbformat = 2
return nb
elif orig_version == 3:
return nb
else:
raise ValueError('Cannot convert a notebook from v%s to v3' % orig_version)