]> git.lyx.org Git - lyx.git/blobdiff - lib/lyx2lyx/lyx_2_3.py
whitespace.
[lyx.git] / lib / lyx2lyx / lyx_2_3.py
index c1f28446c31eac98469bff86f380cbfad43fdfc4..322f495991e508d8088ce018642f56d0e9662940 100644 (file)
@@ -200,47 +200,48 @@ def revert_beamer_article_styles(document):
     if document.textclass == "scrarticle-beamer":
         inclusion = "scrartcl.layout"
 
-    while True:
-        i = find_token(document.header, "\\begin_local_layout", 0)
-        if i == -1:
-            k = find_token(document.header, "\\language", 0)
-            if k == -1:
-                # this should not happen
-                document.warning("Malformed LyX document! No \\language header found!")
-                break
-            document.header[k-1 : k-1] = ["\\begin_local_layout", "\\end_local_layout"]
-            i = find_token(document.header, "\\begin_local_layout", 0)
-        if i != -1:
-            j = find_end_of(document.header, i, "\\begin_local_layout", "\\end_local_layout")
-            if j == -1:
-                # this should not happen
-                break
-
-            document.header[i+1 : i+1] = ["### Inserted by lyx2lyx (more [scr]article styles) ###",
-                                          "Input " + inclusion,
-                                          "Input beamer.layout",
-                                          "Provides geometry 0",
-                                          "Provides hyperref 0",
-                                          "DefaultFont",
-                                          "     Family                Roman",
-                                          "     Series                Medium",
-                                          "     Shape                 Up",
-                                          "     Size                  Normal",
-                                          "     Color                 None",
-                                          "EndFont",
-                                          "Preamble",
-                                          "     \\usepackage{beamerarticle,pgf}",
-                                          "     % this default might be overridden by plain title style",
-                                          "     \\newcommand\makebeamertitle{\\frame{\\maketitle}}%",
-                                          "     \\AtBeginDocument{",
-                                          "             \\let\\origtableofcontents=\\tableofcontents",
-                                          "             \\def\\tableofcontents{\\@ifnextchar[{\\origtableofcontents}{\\gobbletableofcontents}}",
-                                          "             \\def\\gobbletableofcontents#1{\\origtableofcontents}",
-                                          "     }",
-                                          "EndPreamble",
-                                          "### End of insertion by lyx2lyx (more [scr]article styles) ###"]
+    i = find_token(document.header, "\\begin_local_layout", 0)
+    if i == -1:
+        k = find_token(document.header, "\\language", 0)
+        if k == -1:
+            # this should not happen
+            document.warning("Malformed LyX document! No \\language header found!")
+            return
+        document.header[k-1 : k-1] = ["\\begin_local_layout", "\\end_local_layout"]
+        i = k - 1
+
+    j = find_end_of(document.header, i, "\\begin_local_layout", "\\end_local_layout")
+    if j == -1:
+        # this should not happen
+        document.warning("Malformed LyX document: Can't find end of local layout!")
         return
 
+    document.header[i+1 : i+1] = [
+        "### Inserted by lyx2lyx (more [scr]article styles) ###",
+        "Input " + inclusion,
+        "Input beamer.layout",
+        "Provides geometry 0",
+        "Provides hyperref 0",
+        "DefaultFont",
+        "     Family                Roman",
+        "     Series                Medium",
+        "     Shape                 Up",
+        "     Size                  Normal",
+        "     Color                 None",
+        "EndFont",
+        "Preamble",
+        "     \\usepackage{beamerarticle,pgf}",
+        "     % this default might be overridden by plain title style",
+        "     \\newcommand\makebeamertitle{\\frame{\\maketitle}}%",
+        "     \\AtBeginDocument{",
+        "             \\let\\origtableofcontents=\\tableofcontents",
+        "             \\def\\tableofcontents{\\@ifnextchar[{\\origtableofcontents}{\\gobbletableofcontents}}",
+        "             \\def\\gobbletableofcontents#1{\\origtableofcontents}",
+        "     }",
+        "EndPreamble",
+        "### End of insertion by lyx2lyx (more [scr]article styles) ###"
+    ]
+
 
 def convert_beamer_article_styles(document):
     " Remove included (scr)article styles in beamer article "
@@ -249,28 +250,30 @@ def convert_beamer_article_styles(document):
     if document.textclass not in beamer_articles:
         return
 
-    while True:
-        i = find_token(document.header, "\\begin_local_layout", 0)
-        if i == -1:
-            return
+    i = find_token(document.header, "\\begin_local_layout", 0)
+    if i == -1:
+        return
 
-        j = find_end_of(document.header, i, "\\begin_local_layout", "\\end_local_layout")
-        if j == -1:
-            # this should not happen
-            break
+    j = find_end_of(document.header, i, "\\begin_local_layout", "\\end_local_layout")
+    if j == -1:
+        # this should not happen
+        document.warning("Malformed LyX document: Can't find end of local layout!")
+        return
 
-        k = find_token(document.header, "### Inserted by lyx2lyx (more [scr]article styles) ###", i, j)
-        if k != -1:
-            l = find_token(document.header, "### End of insertion by lyx2lyx (more [scr]article styles) ###", i, j)
-            if l == -1:
-                # this should not happen
-                document.warning("End of lyx2lyx local layout insertion not found!")
-                break
+    k = find_token(document.header, "### Inserted by lyx2lyx (more [scr]article styles) ###", i, j)
+    if k != -1:
+        l = find_token(document.header, "### End of insertion by lyx2lyx (more [scr]article styles) ###", i, j)
+        if l == -1:
+            # this should not happen
+            document.warning("End of lyx2lyx local layout insertion not found!")
+            return
 
+        if k == i + 1 and l == j - 1:
+            # that was all the local layout there was
+            document.header[i : j + 1] = []
+        else:
             document.header[k : l + 1] = []
 
-        return
-
 
 def revert_bosnian(document):
     "Set the document language to English but assure Bosnian output"
@@ -612,7 +615,6 @@ def revert_iopart(document):
         "Input stdlayouts.inc",
         "### End of insertion by lyx2lyx (stdlayouts) ###"
     ]
-    return
 
 
 def convert_iopart(document):
@@ -643,8 +645,6 @@ def convert_iopart(document):
         else:
             document.header[k : l + 1] = []
 
-    return
-
 
 ##
 # Conversion hub