More documentaton is below, but here is a quick guide to what
they do. Optional arguments are marked by brackets.
-find_token(lines, token, start[, end[, exact]]):
+find_token(lines, token, start[, end[, ignorews]]):
Returns the first line i, start <= i < end, on which
token is found at the beginning. Returns -1 if not
- found. If exact is (given and) True, then differences
- in whitespace do not count.
+ found.
+ If ignorews is (given and) True, then differences
+ in whitespace do not count, except that there must be no
+ extra whitespace following token itself.
find_token_exact(lines, token, start[, end]):
- Badly named. As find_token, but with ignorews True.
+ As find_token, but with ignorews True.
find_tokens(lines, tokens, start[, end[, ignorews]]):
Returns the first line i, start <= i < end, on which
oen of the tokens in tokens is found at the beginning.
- Returns -1 if not found. If ignorews is (given and) True,
- then differences in whitespace do not count.
+ Returns -1 if not found.
+ If ignorews is (given and) True, then differences
+ in whitespace do not count, except that there must be no
+ extra whitespace following token itself.
find_tokens_exact(lines, token, start[, end]):
- Badly named. As find_tokens, but with ignorews True.
+ As find_tokens, but with ignorews True.
find_token_backwards(lines, token, start):
find_tokens_backwards(lines, tokens, start):
# Utilities for a list of lines
-def find_token(lines, token, start, end = 0, exact = False):
- """ find_token(lines, token, start[[, end], exact]) -> int
+def find_token(lines, token, start, end = 0, ignorews = False):
+ """ find_token(lines, token, start[[, end], ignorews]) -> int
Return the lowest line where token is found, and is the first
element, in lines[start, end].
- If exact is True (default is False), then differences in
- whitespace are ignored.
+ If ignorews is True (default is False), then differences in
+ whitespace are ignored, except that there must be no extra
+ whitespace following token itself.
Return -1 on failure."""
end = len(lines)
m = len(token)
for i in xrange(start, end):
- if exact:
+ if ignorews:
x = lines[i].split()
y = token.split()
if len(x) < len(y):
return find_token(lines, token, start, end, True)
-def find_tokens(lines, tokens, start, end = 0, exact = False):
- """ find_tokens(lines, tokens, start[[, end], exact]) -> int
+def find_tokens(lines, tokens, start, end = 0, ignorews = False):
+ """ find_tokens(lines, tokens, start[[, end], ignorews]) -> int
Return the lowest line where one token in tokens is found, and is
the first element, in lines[start, end].
for i in xrange(start, end):
for token in tokens:
- if exact:
+ if ignorews:
x = lines[i].split()
y = token.split()
if len(x) < len(y):