]> git.lyx.org Git - lyx.git/blob - lib/lyx2lyx/lyx_1_0.py
Remove profiling.py
[lyx.git] / lib / lyx2lyx / lyx_1_0.py
1 # This file is part of lyx2lyx
2 # Copyright (C) 2004 José Matos <jamatos@lyx.org>
3 #
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17
18 """Convert files to the file format generated by lyx 1.0"""
19
20 import re
21
22 from parser_tools import find_re, find_token
23
24
25 def obsolete_latex_title(document):
26     "Replace LatexTitle layout with Title."
27
28     body = document.body
29     i = 0
30     while True:
31         i = find_token(body, "\\layout", i)
32         if i == -1:
33             return
34
35         if body[i].lower().find("latex title") != -1:
36             body[i] = "\\layout Title"
37
38         i = i + 1
39
40
41 def update_tabular(document):
42     "Update from tabular format 3 to 4 if necessary."
43
44     lines = document.body
45     lyxtable_re = re.compile(r".*\\LyXTable$")
46     i = 0
47     while True:
48         i = find_re(lines, lyxtable_re, i)
49         if i == -1:
50             break
51         i = i + 1
52         format = lines[i][8:]
53
54         if format != "3":
55             continue
56
57         lines[i] = "multicol4"
58         i = i + 1
59         rows = int(lines[i].split()[0])
60         columns = int(lines[i].split()[1])
61
62         lines[i] = lines[i] + " 0 0 -1 -1 -1 -1"
63         i = i + 1
64
65         for j in range(rows):
66             lines[i] = lines[i] + " 0 0"
67             i = i + 1
68
69         for j in range(columns):
70             lines[i] = lines[i] + " "
71             i = i + 1
72
73         while lines[i].strip():
74             lines[i] = lines[i] + " 0 0 0"
75             i = i + 1
76
77         lines[i] = lines[i].strip()
78
79
80 supported_versions = ["1.0.%d" % i for i in range(5)] + ["1.0"]
81 convert = [[215, [obsolete_latex_title, update_tabular]]]
82 revert = []
83
84
85 if __name__ == "__main__":
86     pass