mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-05 13:26:21 +00:00
fix lyx2lyx with new file format
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7415 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
3ac99e899f
commit
7a3c1708d2
@ -1,3 +1,7 @@
|
||||
2003-07-28 José Matos <jamatos@fep.up.pt>
|
||||
|
||||
* lyx2lyx/lyx_convert224.py (add_end_layout): fix logic.
|
||||
|
||||
2003-07-28 José Matos <jamatos@fep.up.pt>
|
||||
|
||||
* lyx2lyx/lyx_convert224.py (add_end_layout): new file to read new format.
|
||||
|
@ -17,30 +17,70 @@
|
||||
|
||||
from parser_tools import find_token, find_tokens
|
||||
from sys import stderr
|
||||
from string import replace, split
|
||||
|
||||
def add_end_layout(lines):
|
||||
begin_layout = "\\layout"
|
||||
i = find_token(lines, '\\layout', 0)
|
||||
|
||||
i = find_token(lines, begin_layout, 0)
|
||||
if i == -1:
|
||||
write(stderr, "lyx2lyx: File with no paragraphs. ")
|
||||
lines[0:len(lines)] = []
|
||||
return
|
||||
i = i + 1
|
||||
|
||||
i = i + 1
|
||||
struct_stack = ["\\layout"]
|
||||
while 1:
|
||||
i = find_tokens(lines, ["\\begin_inset", "\\end_inset", "\\layout",
|
||||
"\\begin_deeper", "\\end_deeper", "\\the_end"], i)
|
||||
|
||||
lines[i:i] = ["\\end_layout"]
|
||||
i = i + 1
|
||||
i = find_token(lines, begin_layout, i)
|
||||
if i == -1:
|
||||
return
|
||||
i = i + 1
|
||||
token = split(lines[i])[0]
|
||||
|
||||
if token == "\\begin_inset":
|
||||
struct_stack.append(token)
|
||||
i = i + 1
|
||||
continue
|
||||
|
||||
if token == "\\end_inset":
|
||||
tail = struct_stack.pop()
|
||||
if tail == "\\layout":
|
||||
lines.insert(i,"\\end_layout")
|
||||
i = i + 1
|
||||
#Check if it is the correct tag
|
||||
struct_stack.pop()
|
||||
i = i + 1
|
||||
continue
|
||||
|
||||
if token == "\\layout":
|
||||
tail = struct_stack.pop()
|
||||
if tail == token:
|
||||
lines.insert(i,"\\end_layout")
|
||||
i = i + 2
|
||||
else:
|
||||
struct_stack.append(tail)
|
||||
i = i + 1
|
||||
struct_stack.append(token)
|
||||
continue
|
||||
|
||||
if token == "\\begin_deeper" or token == "\\end_deeper":
|
||||
lines.insert(i,"\\end_layout")
|
||||
i = i + 2
|
||||
continue
|
||||
|
||||
#case \end_document
|
||||
lines.insert(i, "\\end_layout")
|
||||
return
|
||||
|
||||
## def layout2begin_layout(lines):
|
||||
## i = 0
|
||||
## while 1:
|
||||
## i = find_token(lines, '\\layout', i)
|
||||
## if i == -1:
|
||||
## return
|
||||
|
||||
## lines[i]= replace(lines[i], '\\layout', '\\begin_layout')
|
||||
## i = i + 1
|
||||
|
||||
def convert(header, body):
|
||||
add_end_layout(body)
|
||||
## layout2begin_layout(body)
|
||||
|
||||
if __name__ == "__main__":
|
||||
pass
|
||||
|
Loading…
Reference in New Issue
Block a user