pextra_type2_rexp = re.compile(r".*\\pextra_type\s+[12]")
pextra_type2_rexp2 = re.compile(r".*(\\layout|\\pextra_type\s+2)")
+pextra_widthp = re.compile(r"\\pextra_widthp")
def remove_pextra(file):
lines = file.body
if i == -1:
break
+ # Sometimes the \pextra_widthp argument comes in it own
+ # line. If that happens insert it back in this line.
+ if pextra_widthp.search(lines[i+1]):
+ lines[i] = lines[i] + ' ' + lines[i+1]
+ del lines[i+1]
+
mo = pextra_rexp.search(lines[i])
width = get_width(mo)
line_re = re.compile(r'<(features|column|row|cell)')
def update_tabular(file):
+ regexp = re.compile(r'^\\begin_inset\s+Tabular')
lines = file.body
i = 0
while 1:
- i = find_token(lines, '\\begin_inset Tabular', i)
+ i = find_re(lines, regexp, i)
if i == -1:
break
ltvalues_re = re.compile(r'endhead="(-?\d*)" endfirsthead="(-?\d*)" endfoot="(-?\d*)" endlastfoot="(-?\d*)"')
lt_features_re = re.compile(r'(endhead="-?\d*" endfirsthead="-?\d*" endfoot="-?\d*" endlastfoot="-?\d*")')
def update_longtables(file):
+ regexp = re.compile(r'^\\begin_inset\s+Tabular')
body = file.body
i = 0
while 1:
- i = find_token(body, '\\begin_inset Tabular', i)
+ i = find_re(body, regexp, i)
if i == -1:
break
i = i + 1
i = find_token(body, '<features', i)
if i == -1:
break
-
+
# is this a longtable?
longtable = longtable_re.search(body[i])
"\use_numerical_citations 0"]
-def convert(file):
- table = [change_preamble, change_listof, fix_oldfloatinset,
- update_tabular, update_longtables, remove_pextra,
- remove_oldfloat, remove_figinset, remove_oldertinset,
- remove_oldert, combine_ert, change_infoinset]
-
- for conv in table:
- conv(file)
-
- file.format = 220
-
-
-def revert(file):
- file.error("The convertion to an older format (%s) is not implemented." % file.format)
+convert = [[220, [change_preamble, change_listof, fix_oldfloatinset,
+ update_tabular, update_longtables, remove_pextra,
+ remove_oldfloat, remove_figinset, remove_oldertinset,
+ remove_oldert, combine_ert, change_infoinset]]]
+revert = []
if __name__ == "__main__":