From aa7c2f32e1f6892840f1e11fe8e205e106c673c6 Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Thu, 5 Jun 2003 22:44:04 +0000 Subject: [PATCH] Make lyx2lyx output the new external inset format. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7111 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/ChangeLog | 11 +++++++ lib/lyx2lyx/lyx2lyx | 2 +- lib/lyx2lyx/lyxconvert_223.py | 60 +++++++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 lib/lyx2lyx/lyxconvert_223.py diff --git a/lib/ChangeLog b/lib/ChangeLog index 3c88841871..30c9c97adc 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,14 @@ +2003-06-04 Angus Leeming + + * lyx2lyx/lyxconvert_223.py (conv): + +2003-06-04 Angus Leeming + + * lyx2lyx/lyx2lyx: bump the output format to 224. + * lyx2lyx/lyxconvert_223.py (convert_external): new file, new function. + An amalgamation of suggestions from José Matos and Dekel Tsur. + Also converts a RasterImage External Inset to a Graphics Inset. + 2003-06-03 Angus Leeming * external_templates: modify the templates to use the converter" mechanism. diff --git a/lib/lyx2lyx/lyx2lyx b/lib/lyx2lyx/lyx2lyx index 2dc120037f..b0d7077f54 100755 --- a/lib/lyx2lyx/lyx2lyx +++ b/lib/lyx2lyx/lyx2lyx @@ -37,7 +37,7 @@ opt.quiet = 0 format = re.compile(r"(\d)[\.,]?(\d\d)") fileformat = re.compile(r"\\lyxformat\s*(\S*)") -lst_ft = ["210", "215", "216", "217", "218", "220", "221", "223"] +lst_ft = ["210", "215", "216", "217", "218", "220", "221", "223", "224"] def usage(): print """Usage: lyx2lyx [options] file1 diff --git a/lib/lyx2lyx/lyxconvert_223.py b/lib/lyx2lyx/lyxconvert_223.py new file mode 100644 index 0000000000..9cbbcc625a --- /dev/null +++ b/lib/lyx2lyx/lyxconvert_223.py @@ -0,0 +1,60 @@ +# This file is part of lyx2lyx +# Copyright (C) 2002 Dekel Tsur +# +# 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 string +import re +from parser_tools import find_token + +def convert_external(lines): + external_rexp = re.compile(r'\\begin_inset External ([^,]*),"([^"]*)",') + external_header = "\\begin_inset External" + i = 0 + while 1: + i = find_token(lines, external_header, i) + if i == -1: + break + look = external_rexp.search(lines[i]) + args = ['',''] + if look: + args[0] = look.group(1) + args[1] = look.group(2) + #FIXME: if the previous search fails then warn + + if args[0] == "RasterImage": + # Convert a RasterImage External Inset to a Graphics Inset. + top = "\\begin_inset Graphics" + if args[1]: + filename = "\tfilename " + args[1] + lines[i:i+1] = [top, filename] + i = i + 1 + else: + # Convert the old External Inset format to the new. + top = external_header + template = "\ttemplate " + args[0] + if args[1]: + filename = "\tfilename " + args[1] + lines[i:i+1] = [top, template, filename] + i = i + 2 + else: + lines[i:i+1] = [top, template] + i = i + 1 + +def convert(header, body): + convert_external(body) + +if __name__ == "__main__": + pass -- 2.39.2