Speed up convert_captionlayouts. Part of #11200.

This commit is contained in:
Richard Kimberly Heck 2018-07-16 22:14:36 -04:00
parent 16e838de2c
commit 4cb209b121

View File

@ -3659,23 +3659,22 @@ def convert_captionlayouts(document):
"Bicaption" : "Bicaption", "Bicaption" : "Bicaption",
} }
i = 0 for captype in caption_dict.keys():
while True: i = 0
i = find_token(document.body, "\\begin_layout", i) while True:
if i == -1: i = find_token(document.body, "\\begin_layout " + captype, i)
return if i == -1:
val = get_value(document.body, "\\begin_layout", i) break
if val in list(caption_dict.keys()):
j = find_end_of_layout(document.body, i) j = find_end_of_layout(document.body, i)
if j == -1: if j == -1:
document.warning("Malformed LyX document: Missing `\\end_layout'.") document.warning("Malformed LyX document: Missing `\\end_layout'.")
return break
document.body[j:j] = ["\\end_layout", "", "\\end_inset", "", ""] document.body[j:j] = ["\\end_layout", "", "\\end_inset", "", ""]
document.body[i:i+1] = ["\\begin_layout %s" % document.default_layout, document.body[i:i+1] = ["\\begin_layout %s" % document.default_layout,
"\\begin_inset Caption %s" % caption_dict[val], "", "\\begin_inset Caption %s" % caption_dict[val], "",
"\\begin_layout %s" % document.default_layout] "\\begin_layout %s" % document.default_layout]
i += 1 i = j + 1
def revert_captionlayouts(document): def revert_captionlayouts(document):