odfwriter fails when using a config file with non ascii names

Bug #938739 reported by Rafael Villar Burke
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-docutils (Ubuntu)
New
Undecided
Unassigned

Bug Description

When using the odfwriter (rst2odt) --odf-config-file option to map style names to custom names, and when these names have non-ascii characters in them, the writer fails with an UnicodeDecodeError exception.

The following command generates a traceback and the same command works fine if the rst2odtstyles.ini file is changed so no non-ascii chars appear in it.

$ rst2odt --traceback --stylesheet=Plantilla.odt --odf-config-file=rst2odtstyles.ini Prueba.rst > Prueba.odt
Traceback (most recent call last):
  File "/usr/bin/rst2odt", line 29, in <module>
    description=description)
  File "/usr/lib/pymodules/python2.7/docutils/core.py", line 530, in publish_cmdline_to_binary
    config_section=config_section, enable_exit_status=enable_exit_status)
  File "/usr/lib/pymodules/python2.7/docutils/core.py", line 205, in publish
    output = self.writer.write(self.document, self.destination)
  File "/usr/lib/pymodules/python2.7/docutils/writers/__init__.py", line 76, in write
    self.translate()
  File "/usr/lib/pymodules/python2.7/docutils/writers/odf_odt/__init__.py", line 523, in translate
    self.assemble_my_parts()
  File "/usr/lib/pymodules/python2.7/docutils/writers/odf_odt/__init__.py", line 532, in assemble_my_parts
    content = self.visitor.content_astext()
  File "/usr/lib/pymodules/python2.7/docutils/writers/odf_odt/__init__.py", line 1229, in content_astext
    return self.astext()
  File "/usr/lib/pymodules/python2.7/docutils/writers/odf_odt/__init__.py", line 1225, in astext
    s1 = ToString(et)
  File "/usr/lib/pymodules/python2.7/docutils/writers/odf_odt/__init__.py", line 303, in ToString
    et.write(outstream)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 815, in write
    serialize(write, self._root, encoding, qnames, namespaces)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 934, in _serialize_xml
    _serialize_xml(write, e, encoding, qnames, None)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 934, in _serialize_xml
    _serialize_xml(write, e, encoding, qnames, None)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 934, in _serialize_xml
    _serialize_xml(write, e, encoding, qnames, None)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 927, in _serialize_xml
    v = _escape_attrib(v, encoding)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1085, in _escape_attrib
    return text.encode(encoding, "xmlcharrefreplace")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 17: ordinal not in range(128)

Revision history for this message
Jakub Wilk (jwilk) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.