DOCX Input: Fix incorrect conversion of a framed block that contains a list. Fixes #1771279 [wrong tags order in list from DOCX](https://bugs.launchpad.net/calibre/+bug/1771279)

This commit is contained in:
Kovid Goyal 2018-05-16 15:20:53 +05:30
parent 46f19333c9
commit 4422ba06b9
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -741,6 +741,17 @@ class Convert(object):
parent = ul.getparent()
idx = parent.index(ul)
frame = DIV(ul)
elif {p.tag for p in paras} & {'li'}:
def top_level_tag(x):
while True:
q = x.getparent()
if q is parent or q is None:
break
x = q
return x
paras = tuple(map(top_level_tag, paras))
idx = parent.index(paras[0])
frame = DIV(*paras)
else:
idx = parent.index(paras[0])
frame = DIV(*paras)