##// END OF EJS Templates
more test fixed
more test fixed

File last commit:

r8623:33ea591a
r8623:33ea591a
Show More
notebook.py
82 lines | 1.9 KiB | text/x-python | PythonLexer
Matthias BUSSONNIER
latex working
r8618 from converters.base import Converter
Matthias BUSSONNIER
more test fixed
r8623 from converters.utils import cell_to_lines
Matthias BUSSONNIER
all seem to convert again
r8620 from shutil import rmtree
import json
Matthias BUSSONNIER
latex working
r8618
class ConverterNotebook(Converter):
"""
A converter that is essentially a null-op.
This exists so it can be subclassed
for custom handlers of .ipynb files
that create new .ipynb files.
What distinguishes this from JSONWriter is that
subclasses can specify what to do with each type of cell.
Writes out a notebook file.
"""
extension = 'ipynb'
def __init__(self, infile, outbase):
Converter.__init__(self, infile)
self.outbase = outbase
rmtree(self.files_dir)
def convert(self):
Matthias BUSSONNIER
more test fixed
r8623 return unicode(json.dumps(json.loads(Converter.convert(self, ',')), indent=1, sort_keys=True))
Matthias BUSSONNIER
latex working
r8618
def optional_header(self):
s = \
"""{
"metadata": {
"name": "%(name)s"
},
"nbformat": 3,
"worksheets": [
{
"cells": [""" % {'name':self.outbase}
return s.split('\n')
def optional_footer(self):
s = \
"""]
}
]
}"""
return s.split('\n')
def render_heading(self, cell):
return cell_to_lines(cell)
def render_code(self, cell):
return cell_to_lines(cell)
def render_markdown(self, cell):
return cell_to_lines(cell)
def render_raw(self, cell):
return cell_to_lines(cell)
def render_pyout(self, output):
return cell_to_lines(output)
def render_pyerr(self, output):
return cell_to_lines(output)
def render_display_format_text(self, output):
return [output.text]
def render_display_format_html(self, output):
return [output.html]
def render_display_format_latex(self, output):
return [output.latex]
def render_display_format_json(self, output):
return [output.json]
def render_display_format_javascript(self, output):
return [output.javascript]