__init__.py
74 lines
| 2.4 KiB
| text/x-python
|
PythonLexer
Brian Granger
|
r6048 | """The main API for the v3 notebook format. | ||
Brian E. Granger
|
r4609 | |||
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
|
r4406 | |||
from .nbbase import ( | ||||
NotebookNode, | ||||
Brian E. Granger
|
r4637 | new_code_cell, new_text_cell, new_notebook, new_output, new_worksheet, | ||
MinRK
|
r7545 | new_metadata, new_author, new_heading_cell, nbformat, nbformat_minor | ||
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
|
r4609 | #----------------------------------------------------------------------------- | ||
# Code | ||||
#----------------------------------------------------------------------------- | ||||
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 | """ | ||
if fname.endswith(u'.ipynb'): | ||||
Brian E. Granger
|
r4633 | format = u'json' | ||
Brian E. Granger
|
r4520 | elif fname.endswith(u'.json'): | ||
format = u'json' | ||||
elif fname.endswith(u'.py'): | ||||
format = u'py' | ||||
else: | ||||
fname = fname + u'.ipynb' | ||||
Brian E. Granger
|
r4633 | format = u'json' | ||
Brian E. Granger
|
r4520 | name = fname.split('.')[0] | ||
return fname, name, format | ||||