]> git.lyx.org Git - lyx.git/blobdiff - lib/lyx2lyx/parser_tools.py
lyx2lyx: correct placement of (new) local layout
[lyx.git] / lib / lyx2lyx / parser_tools.py
index 12d6aa6be05cd5396c833c3d0ab442f84fddd504..175db00ac3b21de3bc335204a435261f57aec90a 100644 (file)
@@ -88,6 +88,9 @@ del_token(lines, token[, start[, end]]):
   Like find_token, but deletes the line if it finds one.
   Returns True if a line got deleted, otherwise False.
 
+  Use get_* with the optional argument "delete=True", if you want to
+  get and delete a token.
+
 find_beginning_of(lines, i, start_token, end_token):
   Here, start_token and end_token are meant to be a matching
   pair, like "\\begin_layout" and "\\end_layout". We look for
@@ -226,6 +229,7 @@ def find_tokens(lines, tokens, start=0, end=0, ignorews=False):
     the first element, in lines[start, end].
 
     Return -1 on failure."""
+
     if end == 0 or end > len(lines):
         end = len(lines)
 
@@ -425,25 +429,21 @@ def get_quoted_value(lines, token, start=0, end=0, default="", delete=False):
       return default
     return val.strip('"')
 
-bool_values = {True:  ("true", "1"), 
-               False: ("false", "0")}
+
+bool_values = {"true": True, "1": True,
+               "false": False, "0": False}
 
 def get_bool_value(lines, token, start=0, end=0, default=None, delete=False):
     """ get_bool_value(lines, token, start[[, end], default]) -> string
 
     Find the next line that looks like:
-      token <bool_value>
+      `token` <bool_value>
 
-    Return True if <bool_value> is 1 or "true", False if bool_value
+    Return True if <bool_value> is 1 or "true", False if <bool_value>
     is 0 or "false", else `default`.
     """
-
     val = get_quoted_value(lines, token, start, end, default, delete)
-    if val in bool_values[True]:
-        return True
-    if val in bool_values[False]:
-        return False
-    return default
+    return bool_values.get(val, default)
 
 
 def set_bool_value(lines, token, value, start=0, end=0):
@@ -459,13 +459,11 @@ def set_bool_value(lines, token, value, start=0, end=0):
     oldvalue = get_bool_value(lines, token, i, i+1)
     if oldvalue is value:
         return oldvalue
-    # Use 0/1 or true/false?
+    # set to new value
     if get_quoted_value(lines, token, i, i+1) in ('0', '1'):
-        value_string = bool_values[value][1]
+        lines[i] = "%s %d" % (token, value)
     else:
-        value_string = bool_values[value][0]
-    # set to new value
-    lines[i] = "%s %s" % (token, value_string)
+        lines[i] = "%s %s" % (token, str(value).lower())
 
     return oldvalue