##// END OF EJS Templates
Fix exception handler syntax for Python 3 compatibility....
Fix exception handler syntax for Python 3 compatibility. Improve error messages.

File last commit:

r13353:0ca701d5
r14762:e8aa3026
Show More
nbbase.py
73 lines | 1.9 KiB | text/x-python | PythonLexer
Brian E. Granger
More review changes....
r4609 """The basic dict based notebook 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
Full versioning added to nbformat.
r4406
import pprint
import uuid
from IPython.utils.ipstruct import Struct
Thomas Kluyver
Replace references to unicode and basestring
r13353 from IPython.utils.py3compat import unicode_type
Brian E. Granger
Full versioning added to nbformat.
r4406
Brian E. Granger
More review changes....
r4609 #-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
Brian E. Granger
Full versioning added to nbformat.
r4406
class NotebookNode(Struct):
pass
def from_dict(d):
if isinstance(d, dict):
newd = NotebookNode()
for k,v in d.items():
newd[k] = from_dict(v)
return newd
elif isinstance(d, (tuple, list)):
return [from_dict(i) for i in d]
else:
return d
def new_code_cell(code=None, prompt_number=None):
"""Create a new code cell with input and output"""
cell = NotebookNode()
cell.cell_type = u'code'
if code is not None:
Thomas Kluyver
Replace references to unicode and basestring
r13353 cell.code = unicode_type(code)
Brian E. Granger
Full versioning added to nbformat.
r4406 if prompt_number is not None:
cell.prompt_number = int(prompt_number)
return cell
def new_text_cell(text=None):
"""Create a new text cell."""
cell = NotebookNode()
if text is not None:
Thomas Kluyver
Replace references to unicode and basestring
r13353 cell.text = unicode_type(text)
Brian E. Granger
Full versioning added to nbformat.
r4406 cell.cell_type = u'text'
return cell
def new_notebook(cells=None):
"""Create a notebook by name, id and a list of worksheets."""
nb = NotebookNode()
if cells is not None:
nb.cells = cells
else:
nb.cells = []
return nb