Fix an issue with previous markdown fix.

Previous fix was only keeping the last text node found in a list element.
This commit is contained in:
Christopher Ramírez 2016-11-04 11:03:50 -06:00
parent e17d03ecae
commit 5f30fc93bf

View file

@ -719,19 +719,20 @@ class Renderer(object):
# Transfer child nodes
if html_node.hasChildNodes():
for child_node in html_node.childNodes:
# We can't directly insert text into a text:list-item
# element. The content of the item most be wrapped inside
# a container like text:p. When there's not a double linebreak
# separating list elements, markdown2 creates <li> elements without
# wraping their contents inside a container. Here we automatically
# create the container if one was not created by markdown2.
if (tag == 'li' and (not child_node.localName)):
# We can't directly insert text into a text:list-item element.
# The content of the item most be wrapped inside a container
# like text:p. When there's not a double linebreak separating
# list elements, markdown2 creates <li> elements without wraping
# their contents inside a container. Here we automatically create
# the container if one was not created by markdown2.
if (tag=='li' and html_node.childNodes[0].localName <> 'p'):
container = xml_object.createElement('text:p')
container.appendChild(child_node.cloneNode(True))
child_node = container
odt_node.appendChild(container)
else:
container = odt_node
odt_node.appendChild(child_node.cloneNode(True))
for child_node in html_node.childNodes:
container.appendChild(child_node.cloneNode(True))
# Add style-attributes defined in transform_map
if 'style_attributes' in transform_map[tag]: