diff options
author | Valery Febvre <vfebvre at easter-eggs.com> | 2004-04-07 03:00:43 +0000 |
---|---|---|
committer | Valery Febvre <vfebvre at easter-eggs.com> | 2004-04-07 03:00:43 +0000 |
commit | c040ec62e11b5140e52ee0f59f9fc70a94b5ac5d (patch) | |
tree | d2031b4e39c16b80ed8090e9e169547d9ac85528 /python/generator_lasso_strings.py | |
parent | beeae477e9c544e707d27101ce4e9c6c6cd80d70 (diff) | |
download | lasso-c040ec62e11b5140e52ee0f59f9fc70a94b5ac5d.tar.gz lasso-c040ec62e11b5140e52ee0f59f9fc70a94b5ac5d.tar.xz lasso-c040ec62e11b5140e52ee0f59f9fc70a94b5ac5d.zip |
*** empty log message ***
Diffstat (limited to 'python/generator_lasso_strings.py')
-rwxr-xr-x | python/generator_lasso_strings.py | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/python/generator_lasso_strings.py b/python/generator_lasso_strings.py new file mode 100755 index 00000000..e00afdfd --- /dev/null +++ b/python/generator_lasso_strings.py @@ -0,0 +1,84 @@ +#! /usr/bin/env python +# +# $Id$ +# +# PyLasso - Python bindings for Lasso library +# Automatic generation of lasso_strings.py with lasso/xml/strings.c +# +# Copyright (C) 2004 Entr'ouvert +# http://lasso.labs.libre-entreprise.org +# +# Author: Valery Febvre <vfebvre@easter-eggs.com> +# +# 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 re, sys + +MATCH_BLANK = re.compile(r'^\s*\n$') +MATCH_COMMENT = re.compile(r'^[ /]+(?P<text>.*)\n$') +MATCH_CONST = re.compile(r'^const\s+gchar\s+(?P<name>\w+)\[\]\s*=\s+(?P<value>.*)\n$') + +header = """# $%s$ +# +# PyLasso - Python bindings for Lasso library +# +# Copyright (C) 2004 Entr'ouvert +# http://lasso.labs.libre-entreprise.org +# +# Author: Valery Febvre <vfebvre@easter-eggs.com> +# +# 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 +# +""" % "Id" + +file_in = sys.argv[1] +file_out = "./lasso_strings.py" + +fd_in = open(file_in, "r") +fd_out = open(file_out, "w+") +fd_out.write(header) + +line = fd_in.readline() +while line: + match = MATCH_CONST.search(line) + if match: + fd_out.write("%s = %s\n" % (match.group('name')[5:], + match.group('value')[:-1])) + else: + match = MATCH_COMMENT.search(line) + if match: + fd_out.write("# %s\n" % match.group('text')) + else: + match = MATCH_BLANK.search(line) + if match: + fd_out.write("\n") + else: + print "Unknown format, this line is ignored: %s" % line + line = fd_in.readline() + +fd_in.close() +fd_out.close() |