##// END OF EJS Templates
Fixing minor resize bug on the Mac.
Fixing minor resize bug on the Mac.

File last commit:

r4392:68687d2e
r4396:27379eb8
Show More
nbxml.py
48 lines | 1.4 KiB | text/x-python | PythonLexer
"""Read and write notebook files as XML."""
from xml.etree import ElementTree as ET
from .base import NotebookReader, NotebookWriter
from .nbdict import new_code_cell, new_worksheet, new_notebook
class XMLReader(NotebookReader):
def reads(s, **kwargs):
pass
class XMLWriter(NotebookWriter):
def writes(nb, **kwargs):
nb_e = ET.Element('notebook')
name_e = ET.SubElement(nb_e, 'name')
name_e.text = nb.get('name','')
id_e = ET.SubElement(nb_e, 'id')
id_e.text = nb.get('id','')
for ws in nb['worksheets']:
ws_e = ET.SubElement(nb_e, 'worksheet')
ws_name_e = ET.SubElement(ws_e, 'name')
ws_name_e.text = ws.get('name','')
for cell in ws['cells']:
cell_type = cell['cell_type']
if cell_type == 'code':
output = cell['output']
cell_e = ET.SubElement(ws_e, 'cell')
input_e = ET.SubElement(cell_e, 'input')
input_e.text = cell.get('input','')
output_e = ET.SubElement(cell_e, 'output')
text_e = ET.SubElement(output_e, 'text')
text_e.text = cell.output
elif cell_type == 'text':
pass
_reader = XMLReader()
_writer = XMLWriter()
reads = _reader.reads
read = _reader.read
write = _writer.write
writes = _writer.writes