X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Flyx2lyx%2Fparser_tools.py;h=175db00ac3b21de3bc335204a435261f57aec90a;hb=69ed8cb89abd291b19ca2a3423d1f368a0d67f71;hp=d6be0c213d8d3b7da921da8bbc96d84a9c3c5375;hpb=09e69f96dd5830643a6bfe224ca8ff956d715cc1;p=lyx.git diff --git a/lib/lyx2lyx/parser_tools.py b/lib/lyx2lyx/parser_tools.py index d6be0c213d..175db00ac3 100644 --- a/lib/lyx2lyx/parser_tools.py +++ b/lib/lyx2lyx/parser_tools.py @@ -87,7 +87,7 @@ set_bool_value(lines, token, value[, start[, end]]): 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. @@ -229,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) @@ -428,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 + `token` - Return True if is 1 or "true", False if bool_value + Return True if is 1 or "true", False if 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): @@ -462,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