]> git.lyx.org Git - lyx.git/blobdiff - lib/lyx2lyx/lyx_1_1_6fix3.py
merge booktabs branch
[lyx.git] / lib / lyx2lyx / lyx_1_1_6fix3.py
index 74b19d27e2eda470684c1e2b8e2d4d19f13a8a29..f7656d796adaf2cbbd1def62b2b6049729d8b1af 100644 (file)
@@ -18,7 +18,7 @@
 
 import re
 import string
-from parser_tools import find_token
+from parser_tools import find_token, find_re
 
 def bool_table(item):
     if item == "0":
@@ -27,15 +27,17 @@ def bool_table(item):
     return "true"
 
 
+align_vertical = {"0": "top", "1": "bottom", "2": "center"}
 align_table = {"0": "top", "2": "left", "4": "right", "8": "center"}
 use_table = {"0": "none", "1": "parbox"}
 table_meta_re = re.compile(r'<LyXTabular version="?1"? rows="?(\d*)"? columns="?(\d*)"?>')
 
 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
 
@@ -53,7 +55,7 @@ def update_tabular(file):
             break
 
         new_table = table_update(lines[i:j])
-       lines[i:j] = new_table
+        lines[i:j] = new_table
         i = i + len(new_table)
 
 
@@ -94,7 +96,7 @@ def table_update(lines):
         res = cell_re.match(lines[i])
         if res:
             val = res.groups()
-            lines[i] = '<cell multicolumn="%s" alignment="%s" valignment="%s" topline="%s" bottomline="%s" leftline="%s" rightline="%s" rotate="%s" usebox="%s" width="%s" special="%s">' % ( val[0], align_table[val[1]], align_table[val[2]], bool_table(val[3]), bool_table(val[4]), bool_table(val[5]), bool_table(val[6]), bool_table(val[7]), use_table[val[8]], val[9], val[10])
+            lines[i] = '<cell multicolumn="%s" alignment="%s" valignment="%s" topline="%s" bottomline="%s" leftline="%s" rightline="%s" rotate="%s" usebox="%s" width="%s" special="%s">' % ( val[0], align_table[val[1]], align_vertical[val[2]], bool_table(val[3]), bool_table(val[4]), bool_table(val[5]), bool_table(val[6]), bool_table(val[7]), use_table[val[8]], val[9], val[10])
 
         res = row_re.match(lines[i])
         if res:
@@ -109,7 +111,7 @@ def table_update(lines):
         if res:
             val = res.groups()
             col_info[i] = '<column alignment="%s" valignment="%s" leftline="%s" rightline="%s" width="%s" special="%s">' \
-                          % ( align_table[val[0]], align_table[val[1]], bool_table(val[2]), bool_table(val[3]), val[4],val[5])
+                          % ( align_table[val[0]], align_vertical[val[1]], bool_table(val[2]), bool_table(val[3]), val[4],val[5])
 
     return lines[:2] + col_info + lines[2:]