Skip to content

Recursion error in BS4 #40

@zopyx

Description

@zopyx

Plone 5.2.1, Python 3.7

Some HTML (migration project) we receive this

  File "/home/ajung/.buildout/eggs/plone.app.textfield-1.3.2-py3.7.egg/plone/app/textfield/transform.py", line 62, in __call__
    encoding=value.encoding)
  File "/home/ajung/.buildout/eggs/Products.PortalTransforms-3.1.7-py3.7.egg/Products/PortalTransforms/TransformEngine.py", line 173, in convertTo
    usedby=usedby, **kwargs)
  File "/home/ajung/.buildout/eggs/Products.PortalTransforms-3.1.7-py3.7.egg/Products/PortalTransforms/chain.py", line 49, in convert
    data = transform.convert(orig, data, **kwargs)
  File "/home/ajung/.buildout/eggs/Products.PortalTransforms-3.1.7-py3.7.egg/Products/PortalTransforms/Transform.py", line 202, in convert
    return self._v_transform.convert(*args, **kwargs)
  File "/home/ajung/.buildout/eggs/plone.outputfilters-3.1.2-py3.7.egg/plone/outputfilters/transforms/html_to_plone_outputfilters_html.py", line 33, in convert
    res = apply_filters(filters, orig)
  File "/home/ajung/.buildout/eggs/plone.outputfilters-3.1.2-py3.7.egg/plone/outputfilters/__init__.py", line 7, in apply_filters
    res = filter(data)
  File "/home/ajung/.buildout/eggs/plone.outputfilters-3.1.2-py3.7.egg/plone/outputfilters/filters/resolveuid_and_caption.py", line 172, in __call__
    return six.text_type(soup)
  File "/home/ajung/.buildout/eggs/beautifulsoup4-4.8.0-py3.7.egg/bs4/element.py", line 1054, in __unicode__
    return self.decode()
  File "/home/ajung/.buildout/eggs/beautifulsoup4-4.8.0-py3.7.egg/bs4/__init__.py", line 588, in decode
    indent_level, eventual_encoding, formatter)
  File "/home/ajung/.buildout/eggs/beautifulsoup4-4.8.0-py3.7.egg/bs4/element.py", line 1135, in decode
    indent_contents, eventual_encoding, formatter
  File "/home/ajung/.buildout/eggs/beautifulsoup4-4.8.0-py3.7.egg/bs4/element.py", line 1212, in decode_contents
    formatter))
  File "/home/ajung/.buildout/eggs/beautifulsoup4-4.8.0-py3.7.egg/bs4/element.py", line 1135, in decode
    indent_contents, eventual_encoding, formatter
  File "/home/ajung/.buildout/eggs/beautifulsoup4-4.8.0-py3.7.egg/bs4/element.py", line 1212, in decode_contents
    formatter))
....
    attributes = formatter.attributes(self)
  File "/home/ajung/.buildout/eggs/beautifulsoup4-4.8.0-py3.7.egg/bs4/formatter.py", line 62, in attributes
    return sorted(tag.attrs.items())
RecursionError: maximum recursion depth exceeded while calling a Python object

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions