From 4cb209b121430b38606932e31d2659bd7ed57447 Mon Sep 17 00:00:00 2001 From: Richard Kimberly Heck Date: Mon, 16 Jul 2018 22:14:36 -0400 Subject: [PATCH] Speed up convert_captionlayouts. Part of #11200. --- lib/lyx2lyx/lyx_2_1.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/lyx2lyx/lyx_2_1.py b/lib/lyx2lyx/lyx_2_1.py index c8500c779e..09e74a333a 100644 --- a/lib/lyx2lyx/lyx_2_1.py +++ b/lib/lyx2lyx/lyx_2_1.py @@ -3659,23 +3659,22 @@ def convert_captionlayouts(document): "Bicaption" : "Bicaption", } - i = 0 - while True: - i = find_token(document.body, "\\begin_layout", i) - if i == -1: - return - val = get_value(document.body, "\\begin_layout", i) - if val in list(caption_dict.keys()): + for captype in caption_dict.keys(): + i = 0 + while True: + i = find_token(document.body, "\\begin_layout " + captype, i) + if i == -1: + break j = find_end_of_layout(document.body, i) if j == -1: document.warning("Malformed LyX document: Missing `\\end_layout'.") - return + break document.body[j:j] = ["\\end_layout", "", "\\end_inset", "", ""] document.body[i:i+1] = ["\\begin_layout %s" % document.default_layout, "\\begin_inset Caption %s" % caption_dict[val], "", "\\begin_layout %s" % document.default_layout] - i += 1 + i = j + 1 def revert_captionlayouts(document):