##// END OF EJS Templates
Cleanup and refactor, transformers
Cleanup and refactor, transformers

File last commit:

r10674:6e8e0573
r10674:6e8e0573
Show More
activatable.py
53 lines | 1.9 KiB | text/x-python | PythonLexer
"""
Contains base transformer with an enable/disable flag.
"""
#-----------------------------------------------------------------------------
# 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
#-----------------------------------------------------------------------------
from .base import ConfigurableTransformer
from IPython.utils.traitlets import (Bool)
#-----------------------------------------------------------------------------
# Classes and Functions
#-----------------------------------------------------------------------------
class ActivatableTransformer(ConfigurableTransformer):
"""ConfigurableTransformer that has an enabled flag
Inherit from this if you just want to have a transformer which is
enabled by default and can be disabled via the config by
'c.YourTransformerName.enabled = True'
"""
enabled = Bool(True, config=True)
def __call__(self, nb, resources):
"""
Transformation to apply on each notebook.
You should return modified nb, resources.
If you wish to apply your transform on each cell, you might want to
overwrite cell_transform method instead.
Parameters
----------
nb : NotebookNode
Notebook being converted
resources : dictionary
Additional resources used in the conversion process. Allows
transformers to pass variables into the Jinja engine.
"""
if not self.enabled :
return nb, resources
else :
return super(ActivatableTransformer, self).__call__(nb, resources)