lyx_mirror/lib/lyx2lyx/lyxrevert_228.py
Angus Leeming 5647dabc2a Georg's patch enabled lyx2lyx to find the collapsed status of Box insets
but Floats were failing due to the presence of 'wide false'. Rather
than special case again, I wrote a more robust method to find the
collapsed status.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8270 a592a061-630c-0410-9148-cb99ea01b6c8
2003-12-19 21:38:07 +00:00

61 lines
2.2 KiB
Python
Raw Blame History

# This file is part of lyx2lyx
# Copyright (C) 2003 Jos<6F>é Matos <jamatos@fep.up.pt>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import sys
from parser_tools import find_tokens
def convert_collapsable(lines):
i = 0
while 1:
i = find_tokens(lines, ["\\begin_inset Box",
"\\begin_inset Branch",
"\\begin_inset CharStyle",
"\\begin_inset Float",
"\\begin_inset Foot",
"\\begin_inset Marginal",
"\\begin_inset Note",
"\\begin_inset OptArg",
"\\begin_inset Wrap"], i)
if i == -1:
break
# Seach for a line starting 'collapsed'
# If, however, we find a line starting '\layout' (_always_ present)
# then break with a warning message
i = i + 1
while 1:
if (lines[i] == "status open"):
lines[i] = "collapsed false"
lines[i] = "collapsed false"
break
elif (lines[i] == "status collapsed" or
lines[i] == "status inlined"):
lines[i] = "collapsed true"
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)
if __name__ == "__main__":
pass