##// END OF EJS Templates
Start read-only indicator as hidden.
Start read-only indicator as hidden.

File last commit:

r19051:20af1076
r20384:18203ed1
Show More
convertfigures.py
58 lines | 2.0 KiB | text/x-python | PythonLexer
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 """Module containing a preprocessor that converts outputs in the notebook from
Jonathan Frederic
Added writers and supporting code.
r11367 one format to another.
"""
#-----------------------------------------------------------------------------
# Copyright (c) 2013, the IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 from .base import Preprocessor
Jonathan Frederic
To and from formats are now configurable
r11391 from IPython.utils.traitlets import Unicode
Jonathan Frederic
Added writers and supporting code.
r11367
#-----------------------------------------------------------------------------
# Classes
#-----------------------------------------------------------------------------
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 class ConvertFiguresPreprocessor(Preprocessor):
Jonathan Frederic
Added writers and supporting code.
r11367 """
Converts all of the outputs in a notebook from one format to another.
"""
Jonathan Frederic
To and from formats are now configurable
r11391 from_format = Unicode(config=True, help='Format the converter accepts')
to_format = Unicode(config=True, help='Format the converter writes')
Jonathan Frederic
Added writers and supporting code.
r11367
Jonathan Frederic
To and from formats are now configurable
r11391 def __init__(self, **kw):
Jonathan Frederic
Added writers and supporting code.
r11367 """
Public constructor
"""
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 super(ConvertFiguresPreprocessor, self).__init__(**kw)
Jonathan Frederic
Added writers and supporting code.
r11367
def convert_figure(self, data_format, data):
raise NotImplementedError()
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 def preprocess_cell(self, cell, resources, cell_index):
Jonathan Frederic
Added writers and supporting code.
r11367 """
Apply a transformation on each cell,
See base.py
"""
Jonathan Frederic
Renamed remaining `figures` strings
r11638 # Loop through all of the datatypes of the outputs in the cell.
Thomas Kluyver
Fix svg2pdf filter
r19051 for output in cell.get('outputs', []):
if output.output_type in {'execute_result', 'display_data'} \
and self.from_format in output.data \
and self.to_format not in output.data:
Jonathan Frederic
Added writers and supporting code.
r11367
Thomas Kluyver
Fix svg2pdf filter
r19051 output.data[self.to_format] = self.convert_figure(
self.from_format, output.data[self.from_format])
Jonathan Frederic
Added writers and supporting code.
r11367
Thomas Kluyver
Fix svg2pdf filter
r19051 return cell, resources