__init__.py
70 lines
| 2.3 KiB
| text/x-python
|
PythonLexer
Brian Granger
|
r6048 | """The main API for the v3 notebook format. | ||
Brian E. Granger
|
r4609 | """ | ||
Thomas Kluyver
|
r19043 | # Copyright (c) IPython Development Team. | ||
# Distributed under the terms of the Modified BSD License. | ||||
Brian E. Granger
|
r4609 | |||
Thomas Kluyver
|
r19043 | __all__ = ['NotebookNode', 'new_code_cell', 'new_text_cell', 'new_notebook', | ||
'new_output', 'new_worksheet', 'new_metadata', 'new_author', | ||||
'new_heading_cell', 'nbformat', 'nbformat_minor', 'nbformat_schema', | ||||
'reads_json', 'writes_json', 'read_json', 'write_json', | ||||
'to_notebook_json', 'reads_py', 'writes_py', 'read_py', 'write_py', | ||||
'to_notebook_py', 'downgrade', 'upgrade', 'parse_filename' | ||||
] | ||||
Brian E. Granger
|
r4406 | |||
cel
|
r17553 | import os | ||
Brian E. Granger
|
r4406 | from .nbbase import ( | ||
NotebookNode, | ||||
Brian E. Granger
|
r4637 | new_code_cell, new_text_cell, new_notebook, new_output, new_worksheet, | ||
Jessica B. Hamrick
|
r16330 | new_metadata, new_author, new_heading_cell, nbformat, nbformat_minor, | ||
nbformat_schema | ||||
Brian E. Granger
|
r4406 | ) | ||
from .nbjson import reads as reads_json, writes as writes_json | ||||
from .nbjson import reads as read_json, writes as write_json | ||||
from .nbjson import to_notebook as to_notebook_json | ||||
from .nbpy import reads as reads_py, writes as writes_py | ||||
from .nbpy import reads as read_py, writes as write_py | ||||
from .nbpy import to_notebook as to_notebook_py | ||||
Jonathan Frederic
|
r12493 | from .convert import downgrade, upgrade | ||
Brian E. Granger
|
r4406 | |||
Brian E. Granger
|
r4520 | def parse_filename(fname): | ||
"""Parse a notebook filename. | ||||
This function takes a notebook filename and returns the notebook | ||||
Brian E. Granger
|
r4633 | format (json/py) and the notebook name. This logic can be | ||
Brian E. Granger
|
r4520 | summarized as follows: | ||
Bernardo B. Marques
|
r4872 | * notebook.ipynb -> (notebook.ipynb, notebook, json) | ||
Brian E. Granger
|
r4520 | * notebook.json -> (notebook.json, notebook, json) | ||
* notebook.py -> (notebook.py, notebook, py) | ||||
Brian E. Granger
|
r4633 | * notebook -> (notebook.ipynb, notebook, json) | ||
Brian E. Granger
|
r4520 | |||
Parameters | ||||
---------- | ||||
fname : unicode | ||||
The notebook filename. The filename can use a specific filename | ||||
extention (.ipynb, .json, .py) or none, in which case .ipynb will | ||||
be assumed. | ||||
Returns | ||||
------- | ||||
Bernardo B. Marques
|
r4872 | (fname, name, format) : (unicode, unicode, unicode) | ||
The filename, notebook name and format. | ||||
Brian E. Granger
|
r4520 | """ | ||
cel
|
r17553 | basename, ext = os.path.splitext(fname) | ||
if ext == u'.ipynb': | ||||
Brian E. Granger
|
r4633 | format = u'json' | ||
cel
|
r17553 | elif ext == u'.json': | ||
Brian E. Granger
|
r4520 | format = u'json' | ||
cel
|
r17553 | elif ext == u'.py': | ||
Brian E. Granger
|
r4520 | format = u'py' | ||
else: | ||||
cel
|
r17574 | basename = fname | ||
Brian E. Granger
|
r4520 | fname = fname + u'.ipynb' | ||
Brian E. Granger
|
r4633 | format = u'json' | ||
cel
|
r17553 | return fname, basename, format | ||