Uploaded Test files
This commit is contained in:
parent
f584ad9d97
commit
2e81cb7d99
16627 changed files with 2065359 additions and 102444 deletions
161
venv/Lib/site-packages/nbformat/v4/nbbase.py
Normal file
161
venv/Lib/site-packages/nbformat/v4/nbbase.py
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
"""Python API for composing notebook elements
|
||||
|
||||
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.
|
||||
|
||||
from ..notebooknode import NotebookNode
|
||||
|
||||
# Change the nbformat_minor and nbformat_schema variables when incrementing the
|
||||
# nbformat version
|
||||
|
||||
# current major version
|
||||
nbformat = 4
|
||||
|
||||
# current minor version
|
||||
nbformat_minor = 4
|
||||
|
||||
# schema files for (major, minor) version tuples. (None, None) means the current version
|
||||
nbformat_schema = {
|
||||
(None, None): 'nbformat.v4.schema.json',
|
||||
(4, 0): 'nbformat.v4.0.schema.json',
|
||||
(4, 1): 'nbformat.v4.1.schema.json',
|
||||
(4, 2): 'nbformat.v4.2.schema.json',
|
||||
(4, 3): 'nbformat.v4.3.schema.json',
|
||||
(4, 4): 'nbformat.v4.4.schema.json'
|
||||
}
|
||||
|
||||
|
||||
|
||||
def validate(node, ref=None):
|
||||
"""validate a v4 node"""
|
||||
from .. import validate
|
||||
return validate(node, ref=ref, version=nbformat)
|
||||
|
||||
|
||||
def new_output(output_type, data=None, **kwargs):
|
||||
"""Create a new output, to go in the ``cell.outputs`` list of a code cell."""
|
||||
output = NotebookNode(output_type=output_type)
|
||||
|
||||
# populate defaults:
|
||||
if output_type == 'stream':
|
||||
output.name = u'stdout'
|
||||
output.text = u''
|
||||
elif output_type == 'display_data':
|
||||
output.metadata = NotebookNode()
|
||||
output.data = NotebookNode()
|
||||
elif output_type == 'execute_result':
|
||||
output.metadata = NotebookNode()
|
||||
output.data = NotebookNode()
|
||||
output.execution_count = None
|
||||
elif output_type == 'error':
|
||||
output.ename = "NotImplementedError"
|
||||
output.evalue = ""
|
||||
output.traceback = []
|
||||
|
||||
# load from args:
|
||||
output.update(kwargs)
|
||||
if data is not None:
|
||||
output.data = data
|
||||
# validate
|
||||
validate(output, output_type)
|
||||
return output
|
||||
|
||||
|
||||
def output_from_msg(msg):
|
||||
"""Create a NotebookNode for an output from a kernel's IOPub message.
|
||||
|
||||
Returns
|
||||
-------
|
||||
|
||||
NotebookNode: the output as a notebook node.
|
||||
|
||||
Raises
|
||||
------
|
||||
|
||||
ValueError: if the message is not an output message.
|
||||
|
||||
"""
|
||||
msg_type = msg['header']['msg_type']
|
||||
content = msg['content']
|
||||
|
||||
if msg_type == 'execute_result':
|
||||
return new_output(output_type=msg_type,
|
||||
metadata=content['metadata'],
|
||||
data=content['data'],
|
||||
execution_count=content['execution_count'],
|
||||
)
|
||||
elif msg_type == 'stream':
|
||||
return new_output(output_type=msg_type,
|
||||
name=content['name'],
|
||||
text=content['text'],
|
||||
)
|
||||
elif msg_type == 'display_data':
|
||||
return new_output(output_type=msg_type,
|
||||
metadata=content['metadata'],
|
||||
data=content['data'],
|
||||
)
|
||||
elif msg_type == 'error':
|
||||
return new_output(output_type=msg_type,
|
||||
ename=content['ename'],
|
||||
evalue=content['evalue'],
|
||||
traceback=content['traceback'],
|
||||
)
|
||||
else:
|
||||
raise ValueError("Unrecognized output msg type: %r" % msg_type)
|
||||
|
||||
|
||||
def new_code_cell(source='', **kwargs):
|
||||
"""Create a new code cell"""
|
||||
cell = NotebookNode(
|
||||
cell_type='code',
|
||||
metadata=NotebookNode(),
|
||||
execution_count=None,
|
||||
source=source,
|
||||
outputs=[],
|
||||
)
|
||||
cell.update(kwargs)
|
||||
|
||||
validate(cell, 'code_cell')
|
||||
return cell
|
||||
|
||||
def new_markdown_cell(source='', **kwargs):
|
||||
"""Create a new markdown cell"""
|
||||
cell = NotebookNode(
|
||||
cell_type='markdown',
|
||||
source=source,
|
||||
metadata=NotebookNode(),
|
||||
)
|
||||
cell.update(kwargs)
|
||||
|
||||
validate(cell, 'markdown_cell')
|
||||
return cell
|
||||
|
||||
def new_raw_cell(source='', **kwargs):
|
||||
"""Create a new raw cell"""
|
||||
cell = NotebookNode(
|
||||
cell_type='raw',
|
||||
source=source,
|
||||
metadata=NotebookNode(),
|
||||
)
|
||||
cell.update(kwargs)
|
||||
|
||||
validate(cell, 'raw_cell')
|
||||
return cell
|
||||
|
||||
def new_notebook(**kwargs):
|
||||
"""Create a new notebook"""
|
||||
nb = NotebookNode(
|
||||
nbformat=nbformat,
|
||||
nbformat_minor=nbformat_minor,
|
||||
metadata=NotebookNode(),
|
||||
cells=[],
|
||||
)
|
||||
nb.update(kwargs)
|
||||
validate(nb)
|
||||
return nb
|
||||
Loading…
Add table
Add a link
Reference in a new issue