Uploaded Test files
This commit is contained in:
parent
f584ad9d97
commit
2e81cb7d99
16627 changed files with 2065359 additions and 102444 deletions
204
venv/Lib/site-packages/nbformat/v3/nbbase.py
Normal file
204
venv/Lib/site-packages/nbformat/v3/nbbase.py
Normal file
|
|
@ -0,0 +1,204 @@
|
|||
"""The basic dict based notebook format.
|
||||
|
||||
The Python representation of a notebook is a nested structure of
|
||||
dictionary subclasses that support attribute access
|
||||
(ipython_genutils.ipstruct.Struct). The functions in this module are merely
|
||||
helpers to build the structs in the right form.
|
||||
"""
|
||||
|
||||
# Copyright (c) IPython Development Team.
|
||||
# Distributed under the terms of the Modified BSD License.
|
||||
|
||||
import pprint
|
||||
import uuid
|
||||
|
||||
from ipython_genutils.ipstruct import Struct
|
||||
from ipython_genutils.py3compat import cast_unicode
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Code
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
# Change this when incrementing the nbformat version
|
||||
nbformat = 3
|
||||
nbformat_minor = 0
|
||||
nbformat_schema = {
|
||||
(3, 0): 'nbformat.v3.schema.json'
|
||||
}
|
||||
|
||||
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_output(output_type, output_text=None, output_png=None,
|
||||
output_html=None, output_svg=None, output_latex=None, output_json=None,
|
||||
output_javascript=None, output_jpeg=None, prompt_number=None,
|
||||
ename=None, evalue=None, traceback=None, stream=None, metadata=None):
|
||||
"""Create a new output, to go in the ``cell.outputs`` list of a code cell.
|
||||
"""
|
||||
output = NotebookNode()
|
||||
output.output_type = str(output_type)
|
||||
|
||||
if metadata is None:
|
||||
metadata = {}
|
||||
if not isinstance(metadata, dict):
|
||||
raise TypeError("metadata must be dict")
|
||||
|
||||
|
||||
if output_type in {u'pyout', 'display_data'}:
|
||||
output.metadata = metadata
|
||||
|
||||
if output_type != 'pyerr':
|
||||
if output_text is not None:
|
||||
output.text = cast_unicode(output_text)
|
||||
if output_png is not None:
|
||||
output.png = cast_unicode(output_png)
|
||||
if output_jpeg is not None:
|
||||
output.jpeg = cast_unicode(output_jpeg)
|
||||
if output_html is not None:
|
||||
output.html = cast_unicode(output_html)
|
||||
if output_svg is not None:
|
||||
output.svg = cast_unicode(output_svg)
|
||||
if output_latex is not None:
|
||||
output.latex = cast_unicode(output_latex)
|
||||
if output_json is not None:
|
||||
output.json = cast_unicode(output_json)
|
||||
if output_javascript is not None:
|
||||
output.javascript = cast_unicode(output_javascript)
|
||||
|
||||
if output_type == u'pyout':
|
||||
if prompt_number is not None:
|
||||
output.prompt_number = int(prompt_number)
|
||||
|
||||
if output_type == u'pyerr':
|
||||
if ename is not None:
|
||||
output.ename = cast_unicode(ename)
|
||||
if evalue is not None:
|
||||
output.evalue = cast_unicode(evalue)
|
||||
if traceback is not None:
|
||||
output.traceback = [cast_unicode(frame) for frame in list(traceback)]
|
||||
|
||||
if output_type == u'stream':
|
||||
output.stream = 'stdout' if stream is None else cast_unicode(stream)
|
||||
|
||||
return output
|
||||
|
||||
|
||||
def new_code_cell(input=None, prompt_number=None, outputs=None,
|
||||
language=u'python', collapsed=False, metadata=None):
|
||||
"""Create a new code cell with input and output"""
|
||||
cell = NotebookNode()
|
||||
cell.cell_type = u'code'
|
||||
if language is not None:
|
||||
cell.language = cast_unicode(language)
|
||||
if input is not None:
|
||||
cell.input = cast_unicode(input)
|
||||
if prompt_number is not None:
|
||||
cell.prompt_number = int(prompt_number)
|
||||
if outputs is None:
|
||||
cell.outputs = []
|
||||
else:
|
||||
cell.outputs = outputs
|
||||
if collapsed is not None:
|
||||
cell.collapsed = bool(collapsed)
|
||||
cell.metadata = NotebookNode(metadata or {})
|
||||
|
||||
return cell
|
||||
|
||||
def new_text_cell(cell_type, source=None, rendered=None, metadata=None):
|
||||
"""Create a new text cell."""
|
||||
cell = NotebookNode()
|
||||
# VERSIONHACK: plaintext -> raw
|
||||
# handle never-released plaintext name for raw cells
|
||||
if cell_type == 'plaintext':
|
||||
cell_type = 'raw'
|
||||
if source is not None:
|
||||
cell.source = cast_unicode(source)
|
||||
cell.metadata = NotebookNode(metadata or {})
|
||||
cell.cell_type = cell_type
|
||||
return cell
|
||||
|
||||
|
||||
def new_heading_cell(source=None, level=1, rendered=None, metadata=None):
|
||||
"""Create a new section cell with a given integer level."""
|
||||
cell = NotebookNode()
|
||||
cell.cell_type = u'heading'
|
||||
if source is not None:
|
||||
cell.source = cast_unicode(source)
|
||||
cell.level = int(level)
|
||||
cell.metadata = NotebookNode(metadata or {})
|
||||
return cell
|
||||
|
||||
|
||||
def new_worksheet(name=None, cells=None, metadata=None):
|
||||
"""Create a worksheet by name with with a list of cells."""
|
||||
ws = NotebookNode()
|
||||
if cells is None:
|
||||
ws.cells = []
|
||||
else:
|
||||
ws.cells = list(cells)
|
||||
ws.metadata = NotebookNode(metadata or {})
|
||||
return ws
|
||||
|
||||
|
||||
def new_notebook(name=None, metadata=None, worksheets=None):
|
||||
"""Create a notebook by name, id and a list of worksheets."""
|
||||
nb = NotebookNode()
|
||||
nb.nbformat = nbformat
|
||||
nb.nbformat_minor = nbformat_minor
|
||||
if worksheets is None:
|
||||
nb.worksheets = []
|
||||
else:
|
||||
nb.worksheets = list(worksheets)
|
||||
if metadata is None:
|
||||
nb.metadata = new_metadata()
|
||||
else:
|
||||
nb.metadata = NotebookNode(metadata)
|
||||
if name is not None:
|
||||
nb.metadata.name = cast_unicode(name)
|
||||
return nb
|
||||
|
||||
|
||||
def new_metadata(name=None, authors=None, license=None, created=None,
|
||||
modified=None, gistid=None):
|
||||
"""Create a new metadata node."""
|
||||
metadata = NotebookNode()
|
||||
if name is not None:
|
||||
metadata.name = cast_unicode(name)
|
||||
if authors is not None:
|
||||
metadata.authors = list(authors)
|
||||
if created is not None:
|
||||
metadata.created = cast_unicode(created)
|
||||
if modified is not None:
|
||||
metadata.modified = cast_unicode(modified)
|
||||
if license is not None:
|
||||
metadata.license = cast_unicode(license)
|
||||
if gistid is not None:
|
||||
metadata.gistid = cast_unicode(gistid)
|
||||
return metadata
|
||||
|
||||
def new_author(name=None, email=None, affiliation=None, url=None):
|
||||
"""Create a new author."""
|
||||
author = NotebookNode()
|
||||
if name is not None:
|
||||
author.name = cast_unicode(name)
|
||||
if email is not None:
|
||||
author.email = cast_unicode(email)
|
||||
if affiliation is not None:
|
||||
author.affiliation = cast_unicode(affiliation)
|
||||
if url is not None:
|
||||
author.url = cast_unicode(url)
|
||||
return author
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue