def convert_to_this_nbformat(nb, orig_version=2, orig_minor=0): """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. orig_minor : int The original minor version of the notebook to convert (only relevant for v >= 3). """ 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 = nbformat nb.nbformat_minor = nbformat_minor nb.orig_nbformat = 2 return nb elif orig_version == 3: if orig_minor != nbformat_minor: nb.orig_nbformat_minor = orig_minor nb.nbformat_minor = nbformat_minor return nb else: raise ValueError('Cannot convert a notebook from v%s to v3' % orig_version)
def reads_json(s, **kwargs): """Read a JSON notebook from a string and return the NotebookNode object.""" nbformat, d = parse_json(s, **kwargs) if nbformat == 1: nb = v1.to_notebook_json(d, **kwargs) nb = v2.convert_to_this_nbformat(nb, orig_version=1) elif nbformat == 2: nb = v2.to_notebook_json(d, **kwargs) else: raise NBFormatError('Unsupported JSON nbformat version: %i' % nbformat) return nb
def convert_to_this_nbformat(nb, orig_version=2): """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. """ if orig_version == 1: nb = v2.convert_to_this_nbformat(nb) orig_version = 2 if orig_version == 2: return nb elif orig_version == 3: return nb else: raise ValueError('Cannot convert a notebook from v%s to v3' % orig_version)
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)