# This file is part of lyx2lyx
+# -*- coding: iso-8859-1 -*-
# Copyright (C) 2003 José Matos <jamatos@fep.up.pt>
#
# This program is free software; you can redistribute it and/or
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-from parser_tools import find_tokens
+import sys
+from parser_tools import find_token, find_tokens
def convert_collapsable(lines):
i = 0
if i == -1:
break
- # We are interested in the next line
+ # Seach for a line starting 'collapsed'
+ # If, however, we find a line starting '\begin_layout'
+ # (_always_ present) then break with a warning message
i = i + 1
- if (lines[i] == "collapsed false"):
- lines[i] = "status open"
- elif (lines[i] == "collapsed true"):
- lines[i] = "status collapsed"
- else:
- sys.stderr.write("Malformed lyx file\n")
+ while 1:
+ if (lines[i] == "collapsed false"):
+ lines[i] = "status open"
+ break
+ elif (lines[i] == "collapsed true"):
+ lines[i] = "status collapsed"
+ break
+ elif (lines[i][:13] == "\\begin_layout"):
+ sys.stderr.write("Malformed lyx file\n")
+ break
+ i = i + 1
+
+ i = i + 1
+
+def convert_ert(lines):
+ i = 0
+ while 1:
+ i = find_token(lines, "\\begin_inset ERT", i)
+ if i == -1:
+ break
+
+ # Seach for a line starting 'status'
+ # If, however, we find a line starting '\begin_layout'
+ # (_always_ present) then break with a warning message
+ i = i + 1
+ while 1:
+ if (lines[i] == "status Open"):
+ lines[i] = "status open"
+ break
+ elif (lines[i] == "status Collapsed"):
+ lines[i] = "status collapsed"
+ break
+ elif (lines[i] == "status Inlined"):
+ lines[i] = "status inlined"
+ break
+ elif (lines[i][:13] == "\\begin_layout"):
+ sys.stderr.write("Malformed lyx file\n")
+ break
+ i = i + 1
i = i + 1
def convert(header, body):
convert_collapsable(body)
+ convert_ert(body)
if __name__ == "__main__":
pass