nbviewer icon indicating copy to clipboard operation
nbviewer copied to clipboard

FAQ failing with 500

Open minrk opened this issue 4 years ago • 1 comments

Rendering the FAQ page is currently failing with 500:

  File "/Users/benjaminrk/dev/jpy/nbviewer/nbviewer/templates/faq.md", line 1, in top-level template code
    {% extends "layout.html" %}
  File "/Users/benjaminrk/dev/jpy/nbviewer/nbviewer/templates/layout.html", line 113, in top-level template code
    </div>
  File "/Users/benjaminrk/dev/jpy/nbviewer/nbviewer/templates/layout.html", line 114, in block "container"
    </nav>
  File "/Users/benjaminrk/dev/jpy/nbviewer/nbviewer/templates/faq.md", line 7, in block "body"
    {% filter markdown(extensions=['toc'], extension_configs= {'toc' : [('anchorlink', True)]}) %}
  File "/Users/benjaminrk/conda/lib/python3.7/site-packages/markdown/core.py", line 388, in markdown
    return md.convert(text)
  File "/Users/benjaminrk/conda/lib/python3.7/site-packages/markdown/core.py", line 269, in convert
    newRoot = treeprocessor.run(root)
  File "/Users/benjaminrk/conda/lib/python3.7/site-packages/markdown/extensions/toc.py", line 277, in run
    self.add_anchor(el, el.attrib["id"])
  File "/Users/benjaminrk/conda/lib/python3.7/site-packages/markdown/extensions/toc.py", line 200, in add_anchor
    c.append(anchor)
TypeError: append() argument must be xml.etree.ElementTree.Element, not Element

I've tracked it down to isinstance(c, xml.etree.ElementTree.Element) being False, even though c.__class__ is xml.etree.ElementTree.Element, which I assume means that the xml.etree.ElementTree module is getting reloaded at some point. I don't know what's responsible for this, maybe jinja, maybe tornado, maybe something we are doing. Quickest fix might be to switch to commonmark or another markdown implementation instead of figuring out why this markdown implementation is getting confused.

minrk avatar Mar 05 '20 15:03 minrk

FYI this is caused by a bug in defusedxml: tiran/defusedxml/issues/54 (which is imported in nbconvert.filters.strings).

Gittenburg avatar Aug 25 '20 11:08 Gittenburg