[IPython-dev] Problems using nbconvert with custom templates in IPython2.0-rc1

MinRK benjaminrk at gmail.com
Sun Mar 30 00:15:43 EDT 2014


On Sat, Mar 29, 2014 at 9:05 PM, Jones, Zach H <Zach.Jones at netapp.com>wrote:

>  I have made some progress in debugging the problems.
>
>  The error with the na_full template was that html_basic.tpl is now
> basic.tpl.  After correcting to {%- extends basic.tpl -%} my template is
> working again.
>
>  It looks like the na_report template not being recognized is because
> there is a error that occurs when loading the template inside nbconvert.
>
>  Are the silent errors by design? Is there a way for me to invoke verbose
> output during the loading the templates?
>

The silence is definitely not by design. It may be a side effect of the
template discovery code trying a few things before giving up. I will look
into it.

-MinRK


>
>  Thanks,
> Zach Jones
>  ------------------------------
> *From:* ipython-dev-bounces at scipy.org [ipython-dev-bounces at scipy.org] on
> behalf of Jones, Zach H [Zach.Jones at netapp.com]
> *Sent:* Saturday, March 29, 2014 8:27 PM
> *To:* ipython-dev at scipy.org
> *Subject:* [IPython-dev] Problems using nbconvert with custom templates
> in IPython2.0-rc1
>
>    All,
>
>  I have been using nbconvert to generate HTML views of notebooks with
> IPython1.x.  I based my work on this:
> http://nbviewer.ipython.org/urls/raw.githubusercontent.com/ipython/ipython-in-depth/master/notebooks/07%20-%20NbConvert%20Python%20library.ipynb?create=1#Programatically-make-templates
>
>  This work great with IPython1.x but is now not working with
> IPython2.0-rc.  I am hoping you can help me sort through my errors.
>
>  The code looks like this:
> extra_tpls = DictLoader({'na_full': ..., 'na_report', ...})
>  c = Config()
> c.HTMLExporter.default_template = 'na_report'
>  exportHTML = HTMLExporter(config=c, extra_loaders=[extra_tpls])
>  exportHTML.from_notebook_node(nb)
>
>  My DictLoader contains two templates:
>
>    - na_full extends html_basic.tpl
>    - na_report extends display_priority.tpl
>
>  I get errors with either template, but each template is different.
>
>  For na_full, it looks like html_basic.tpl cannot be found:
>
> ---------------------------------------------------------------------------TemplateNotFound                          Traceback (most recent call last)<ipython-input-23-008e826165f9> in <module>()----> 1 exportHTML.from_notebook_node(nb)
> /x/eng/rtpperf/python2.7-Debian-unstable-x86_64-tst/local/lib/python2.7/site-packages/IPython/nbconvert/exporters/templateexporter.pyc in from_notebook_node(self, nb, resources, **kw)    213     214         if self.template is not None:--> 215             output = self.template.render(nb=nb_copy, resources=resources)    216         else:    217             raise IOError('template file "%s" could not be found' % self.template_file)
> /x/eng/rtpperf/python2.7-Debian-unstable-x86_64-tst/local/lib/python2.7/site-packages/jinja2/environment.pyc in render(self, *args, **kwargs)    967         except Exception:    968             exc_info = sys.exc_info()--> 969         return self.environment.handle_exception(exc_info, True)    970     971     def stream(self, *args, **kwargs):
> /x/eng/rtpperf/python2.7-Debian-unstable-x86_64-tst/local/lib/python2.7/site-packages/jinja2/environment.pyc in handle_exception(self, exc_info, rendered, source_hint)    740             self.exception_handler(traceback)    741         exc_type, exc_value, tb = traceback.standard_exc_info--> 742         reraise(exc_type, exc_value, tb)    743     744     def join_path(self, template, parent):
> <template> in top-level template code()
> TemplateNotFound: html_basic.tpl
>
>
>  For na_report, it looks like that it is not being found:
>
> ---------------------------------------------------------------------------IOError                                   Traceback (most recent call last)<ipython-input-20-008e826165f9> in <module>()----> 1 exportHTML.from_notebook_node(nb)
> /x/eng/rtpperf/python2.7-Debian-unstable-x86_64-tst/local/lib/python2.7/site-packages/IPython/nbconvert/exporters/templateexporter.pyc in from_notebook_node(self, nb, resources, **kw)    215             output = self.template.render(nb=nb_copy, resources=resources)    216         else:--> 217             raise IOError('template file "%s" could not be found' % self.template_file)    218         return output, resources    219
> IOError: template file "html_na_report" could not be found
>
>
>  I have also tried using the FileSystemLoader from jinja2 as well.  It
> loads the templates and I get the same errors.
>
>  Thanks for your help,
> Zach Jones
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20140329/b7f761b3/attachment.html>


More information about the IPython-dev mailing list