exporter_locator.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. """Deprecated as of 5.0. Module containing hard-coded exporting functions."""
  2. # Copyright (c) Jupyter Development Team.
  3. # Distributed under the terms of the Modified BSD License.
  4. import warnings
  5. from .base import (export, get_exporter,
  6. get_export_names , ExporterNameError)
  7. from .exporter import Exporter
  8. from .templateexporter import TemplateExporter
  9. from .html import HTMLExporter
  10. from .slides import SlidesExporter
  11. from .latex import LatexExporter
  12. from .pdf import PDFExporter
  13. from .markdown import MarkdownExporter
  14. from .python import PythonExporter
  15. from .rst import RSTExporter
  16. from .notebook import NotebookExporter
  17. from .script import ScriptExporter
  18. #-----------------------------------------------------------------------------
  19. # Functions
  20. #-----------------------------------------------------------------------------
  21. warnings.warn("""`nbconvert.exporters.exporter_locator` is deprecated in favor of `nbconvert.exporters.base` since nbconvert 5.0.""",
  22. DeprecationWarning)
  23. __all__ = [
  24. 'export',
  25. 'export_by_name',
  26. 'get_exporter',
  27. 'get_export_names',
  28. 'ExporterNameError',
  29. 'exporter_map',
  30. ]
  31. exporter_map = dict(
  32. custom=TemplateExporter,
  33. html=HTMLExporter,
  34. slides=SlidesExporter,
  35. latex=LatexExporter,
  36. pdf=PDFExporter,
  37. markdown=MarkdownExporter,
  38. python=PythonExporter,
  39. rst=RSTExporter,
  40. notebook=NotebookExporter,
  41. script=ScriptExporter,
  42. )
  43. def _make_exporter(name, E):
  44. """make an export_foo function from a short key and Exporter class E"""
  45. def _export(nb, **kw):
  46. return export(E, nb, **kw)
  47. _export.__doc__ = """DEPRECATED: Export a notebook object to {0} format""".format(name)
  48. return _export
  49. g = globals()
  50. # These specific functions are deprecated as of 5.0
  51. for name, E in exporter_map.items():
  52. g['export_%s' % name] = _make_exporter(name, E)
  53. __all__.append('export_%s' % name)
  54. def export_by_name(format_name, nb, **kw):
  55. """
  56. Deprecated since version 5.0.
  57. Export a notebook object to a template type by its name. Reflection
  58. (Inspect) is used to find the template's corresponding explicit export
  59. method defined in this module. That method is then called directly.
  60. Parameters
  61. ----------
  62. format_name : str
  63. Name of the template style to export to.
  64. """
  65. warnings.warn("export_by_name is deprecated since nbconvert 5.0. Instead, use export(get_exporter(format_name), nb, **kw)).", DeprecationWarning, stacklevel=2)
  66. try:
  67. Exporter = get_exporter(format_name)
  68. return export(Exporter, nb, **kw)
  69. except ValueError:
  70. raise ExporterNameError("Exporter for `%s` not found" % format_name)