Uploaded Test files
This commit is contained in:
parent
f584ad9d97
commit
2e81cb7d99
16627 changed files with 2065359 additions and 102444 deletions
90
venv/Lib/site-packages/nbconvert/preprocessors/base.py
Normal file
90
venv/Lib/site-packages/nbconvert/preprocessors/base.py
Normal file
|
@ -0,0 +1,90 @@
|
|||
"""Base class for preprocessors"""
|
||||
|
||||
# Copyright (c) IPython Development Team.
|
||||
# Distributed under the terms of the Modified BSD License.
|
||||
|
||||
from ..utils.base import NbConvertBase
|
||||
from traitlets import Bool
|
||||
|
||||
|
||||
class Preprocessor(NbConvertBase):
|
||||
""" A configurable preprocessor
|
||||
|
||||
Inherit from this class if you wish to have configurability for your
|
||||
preprocessor.
|
||||
|
||||
Any configurable traitlets this class exposed will be configurable in
|
||||
profiles using c.SubClassName.attribute = value
|
||||
|
||||
You can overwrite `preprocess_cell()` to apply a transformation
|
||||
independently on each cell or `preprocess()` if you prefer your own
|
||||
logic. See corresponding docstring for information.
|
||||
|
||||
Disabled by default and can be enabled via the config by
|
||||
'c.YourPreprocessorName.enabled = True'
|
||||
"""
|
||||
|
||||
enabled = Bool(False).tag(config=True)
|
||||
|
||||
def __init__(self, **kw):
|
||||
"""
|
||||
Public constructor
|
||||
|
||||
Parameters
|
||||
----------
|
||||
config : Config
|
||||
Configuration file structure
|
||||
`**kw`
|
||||
Additional keyword arguments passed to parent
|
||||
"""
|
||||
|
||||
super().__init__(**kw)
|
||||
|
||||
def __call__(self, nb, resources):
|
||||
if self.enabled:
|
||||
self.log.debug("Applying preprocessor: %s",
|
||||
self.__class__.__name__)
|
||||
return self.preprocess(nb, resources)
|
||||
else:
|
||||
return nb, resources
|
||||
|
||||
def preprocess(self, nb, resources):
|
||||
"""
|
||||
Preprocessing to apply on each notebook.
|
||||
|
||||
Must return modified nb, resources.
|
||||
|
||||
If you wish to apply your preprocessing to each cell, you might want
|
||||
to override preprocess_cell method instead.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
nb : NotebookNode
|
||||
Notebook being converted
|
||||
resources : dictionary
|
||||
Additional resources used in the conversion process. Allows
|
||||
preprocessors to pass variables into the Jinja engine.
|
||||
"""
|
||||
for index, cell in enumerate(nb.cells):
|
||||
nb.cells[index], resources = self.preprocess_cell(cell, resources, index)
|
||||
return nb, resources
|
||||
|
||||
def preprocess_cell(self, cell, resources, index):
|
||||
"""
|
||||
Override if you want to apply some preprocessing to each cell.
|
||||
Must return modified cell and resource dictionary.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
cell : NotebookNode cell
|
||||
Notebook cell being processed
|
||||
resources : dictionary
|
||||
Additional resources used in the conversion process. Allows
|
||||
preprocessors to pass variables into the Jinja engine.
|
||||
index : int
|
||||
Index of the cell being processed
|
||||
"""
|
||||
|
||||
raise NotImplementedError('should be implemented by subclass')
|
||||
return cell, resources
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue