i = find_token2(lines, token, start, end)
if i == -1:
return ""
- return string.split(lines[i])[1]
+ if len(string.split(lines[i])) > 1:
+ return string.split(lines[i])[1]
+ else:
+ return ""
def del_token(lines, token, i, j):
k = find_token2(lines, token, i, j)
# Finds the paragraph that contains line i.
def get_paragraph(lines, i):
- while 1:
+ while i != -1:
i = find_tokens_backwards(lines, ["\\end_inset", "\\layout"], i)
+ if i == -1: return -1
if check_token(lines[i], "\\layout"):
return i
i = find_beginning_of_inset(lines, i)
# Finds the paragraph after the paragraph that contains line i.
def get_next_paragraph(lines, i):
- while 1:
+ while i != -1:
i = find_tokens(lines, ["\\begin_inset", "\\layout"], i)
+ if i == -1: return -1
if check_token(lines[i], "\\layout"):
return i
i = find_end_of_inset(lines, i)
# Finds the matching \end_inset
def find_beginning_of(lines, i, start_token, end_token):
count = 1
- n = len(lines)
- while i < n:
+ while i > 0:
i = find_tokens_backwards(lines, [start_token, end_token], i-1)
if check_token(lines[i], end_token):
count = count+1
def find_end_of_tabular(lines, i):
return find_end_of(lines, i, "<lyxtabular", "</lyxtabular")
+def get_tabular_lines(lines, i):
+ result = []
+ i = i+1
+ j = find_end_of_tabular(lines, i)
+ if j == -1:
+ return []
+
+ while i <= j:
+ if check_token(lines[i], "\\begin_inset"):
+ i = find_end_of_inset(lines, i)+1
+ else:
+ result.append(i)
+ i = i+1
+ return result
+
def is_nonempty_line(line):
return line != " "*len(line)