##// END OF EJS Templates
added listing of known exporters on error
Paul Ivanov -
Show More
@@ -86,7 +86,8 b' __all__ = ['
86 86 'export_python_armor',
87 87 'export_reveal',
88 88 'export_rst',
89 'export_by_name'
89 'export_by_name',
90 'get_export_names'
90 91 ]
91 92
92 93 @DocDecorator
@@ -223,3 +224,10 b' def export_by_name(template_name, nb, config=None, transformers=None, filters=No'
223 224 else:
224 225 raise NameError("template for `%s` not found" % function_name)
225 226
227 def get_export_names():
228 "Return a list of the currently supported export targets"
229 # grab everything after 'export_'
230 l = [x[len('export_'):] for x in __all__ if x.startswith('export_')]
231 # filter out the one method that is not a template
232 l = [x for x in l if 'by_name' not in x]
233 return sorted(l)
@@ -26,7 +26,7 b' import os'
26 26 from IPython.config.application import Application
27 27 from IPython.utils.traitlets import Bool, Unicode
28 28
29 from .exporters.export import export_by_name
29 from .exporters.export import export_by_name, get_export_names
30 30 from .exporters.exporter import Exporter
31 31 from .transformers import extractfigure
32 32 from .utils.config import GlobalConfigurable
@@ -127,10 +127,15 b' class NbConvertApp(Application):'
127 127 ipynb_file = (self.extra_args)[2]
128 128
129 129 #Export
130 return_value = export_by_name(export_type, ipynb_file)
131 if return_value is None:
132 print("Error: '%s' template not found." % export_type)
133 return
130 try:
131 return_value = export_by_name(export_type, ipynb_file)
132 except NameError as e:
133 print("Error: '%s' exporter not found." % export_type,
134 file=sys.stderr)
135 print("Known exporters are:",
136 "\n\t" + "\n\t".join(get_export_names()),
137 file=sys.stderr)
138 sys.exit(-1)
134 139 else:
135 140 (output, resources, exporter) = return_value
136 141
General Comments 0
You need to be logged in to leave comments. Login now