Uploaded Test files
This commit is contained in:
parent
f584ad9d97
commit
2e81cb7d99
16627 changed files with 2065359 additions and 102444 deletions
54
venv/Lib/site-packages/nbformat/converter.py
Normal file
54
venv/Lib/site-packages/nbformat/converter.py
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
"""API for converting notebooks between versions."""
|
||||
|
||||
# Copyright (c) IPython Development Team.
|
||||
# Distributed under the terms of the Modified BSD License.
|
||||
|
||||
from . import versions
|
||||
from .reader import get_version
|
||||
|
||||
|
||||
def convert(nb, to_version):
|
||||
"""Convert a notebook node object to a specific version. Assumes that
|
||||
all the versions starting from 1 to the latest major X are implemented.
|
||||
In other words, there should never be a case where v1 v2 v3 v5 exist without
|
||||
a v4. Also assumes that all conversions can be made in one step increments
|
||||
between major versions and ignores minor revisions.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
nb : NotebookNode
|
||||
to_version : int
|
||||
Major revision to convert the notebook to. Can either be an upgrade or
|
||||
a downgrade.
|
||||
"""
|
||||
|
||||
# Get input notebook version.
|
||||
(version, version_minor) = get_version(nb)
|
||||
|
||||
# Check if destination is target version, if so return contents
|
||||
if version == to_version:
|
||||
return nb
|
||||
|
||||
# If the version exist, try to convert to it one step at a time.
|
||||
elif to_version in versions:
|
||||
|
||||
# Get the the version that this recursion will convert to as a step
|
||||
# closer to the final revision. Make sure the newer of the conversion
|
||||
# functions is used to perform the conversion.
|
||||
if to_version > version:
|
||||
step_version = version + 1
|
||||
convert_function = versions[step_version].upgrade
|
||||
else:
|
||||
step_version = version - 1
|
||||
convert_function = versions[version].downgrade
|
||||
|
||||
# Convert and make sure version changed during conversion.
|
||||
converted = convert_function(nb)
|
||||
if converted.get('nbformat', 1) == version:
|
||||
raise ValueError("Failed to convert notebook from v%d to v%d." % (version, step_version))
|
||||
|
||||
# Recursively convert until target version is reached.
|
||||
return convert(converted, to_version)
|
||||
else:
|
||||
raise ValueError("Cannot convert notebook to v%d because that " \
|
||||
"version doesn't exist" % (to_version))
|
||||
Loading…
Add table
Add a link
Reference in a new issue