if len(x) < len(y):
continue
if x[:len(y)] == y:
- return i
+ return i
else:
if lines[i][:len(token)] == token:
return i
return -1
-def get_value(lines, token, start, end = 0):
- """ get_value(lines, token, start[, end]) -> list of strings
+def get_value(lines, token, start, end = 0, default = ""):
+ """ get_value(lines, token, start[[, end], default]) -> list of strings
Return tokens after token for the first line, in lines, where
token is the first element."""
i = find_token_exact(lines, token, start, end)
if i == -1:
- return ""
+ return default
if len(lines[i].split()) > 1:
return lines[i].split()[1]
else:
- return ""
+ return default
+
+
+def get_value_string(lines, token, start, end = 0, trim = False, default = ""):
+ """ get_value_string(lines, token, start[[, end], trim, default]) -> string
+
+ Return tokens after token as string, in lines, where
+ token is the first element. When trim is used, the first and last character
+ of the string is trimmed."""
+
+ i = find_token_exact(lines, token, start, end)
+ if i == -1:
+ return default
+ if len(lines[i].split()) > 1:
+ for k in range (0, len(lines[i])):
+ if lines[i][k] == ' ':
+ if trim ==False:
+ return lines[i][k+1:len(lines[i])]
+ else:
+ return lines[i][k+2:len(lines[i])-1]
+ else:
+ return default
def del_token(lines, token, start, end):
count = 1
while i > 0:
i = find_tokens_backwards(lines, [start_token, end_token], i-1)
+ if i == -1:
+ return -1
if check_token(lines[i], end_token):
count = count+1
else:
n = len(lines)
while i < n:
i = find_tokens(lines, [end_token, start_token], i+1)
+ if i == -1:
+ return -1
if check_token(lines[i], start_token):
count = count+1
else: