convert.py
59 lines
| 1.9 KiB
| text/x-python
|
PythonLexer
Brian E. Granger
|
r4609 | """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 | ||||
#----------------------------------------------------------------------------- | ||||
Brian E. Granger
|
r4406 | from .nbbase import ( | ||
MinRK
|
r7545 | new_code_cell, new_text_cell, new_worksheet, new_notebook, new_output, | ||
nbformat, nbformat_minor | ||||
Brian E. Granger
|
r4406 | ) | ||
Brian Granger
|
r6026 | from IPython.nbformat import v2 | ||
Brian E. Granger
|
r4609 | #----------------------------------------------------------------------------- | ||
# Code | ||||
#----------------------------------------------------------------------------- | ||||
MinRK
|
r7545 | def convert_to_this_nbformat(nb, orig_version=2, orig_minor=0): | ||
Brian Granger
|
r6048 | """Convert a notebook to the v3 format. | ||
Brian E. Granger
|
r4609 | |||
Parameters | ||||
---------- | ||||
nb : NotebookNode | ||||
The Python representation of the notebook to convert. | ||||
orig_version : int | ||||
The original version of the notebook to convert. | ||||
MinRK
|
r7545 | orig_minor : int | ||
The original minor version of the notebook to convert (only relevant for v >= 3). | ||||
Brian E. Granger
|
r4609 | """ | ||
Brian E. Granger
|
r4406 | if orig_version == 1: | ||
Brian Granger
|
r6026 | nb = v2.convert_to_this_nbformat(nb) | ||
orig_version = 2 | ||||
if orig_version == 2: | ||||
Brian Granger
|
r6061 | # Mark the original nbformat so consumers know it has been converted. | ||
MinRK
|
r7545 | nb.nbformat = nbformat | ||
nb.nbformat_minor = nbformat_minor | ||||
Brian Granger
|
r6061 | nb.orig_nbformat = 2 | ||
Brian Granger
|
r6026 | return nb | ||
elif orig_version == 3: | ||||
MinRK
|
r7545 | if orig_minor != nbformat_minor: | ||
nb.orig_nbformat_minor = orig_minor | ||||
nb.nbformat_minor = nbformat_minor | ||||
Brian Granger
|
r6026 | return nb | ||
Brian E. Granger
|
r4406 | else: | ||
Brian Granger
|
r6026 | raise ValueError('Cannot convert a notebook from v%s to v3' % orig_version) | ||
Brian E. Granger
|
r4406 | |||