X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Flyx2lyx%2Fparser_tools.py;h=175db00ac3b21de3bc335204a435261f57aec90a;hb=69ed8cb89abd291b19ca2a3423d1f368a0d67f71;hp=12d6aa6be05cd5396c833c3d0ab442f84fddd504;hpb=a925d2508555ccfb67db1e2efde415aa0a34400e;p=lyx.git diff --git a/lib/lyx2lyx/parser_tools.py b/lib/lyx2lyx/parser_tools.py index 12d6aa6be0..175db00ac3 100644 --- a/lib/lyx2lyx/parser_tools.py +++ b/lib/lyx2lyx/parser_tools.py @@ -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 + `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): @@ -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