summaryrefslogtreecommitdiffstats
path: root/python/generator_lasso_strings.py
diff options
context:
space:
mode:
authorValery Febvre <vfebvre at easter-eggs.com>2004-04-07 03:00:43 +0000
committerValery Febvre <vfebvre at easter-eggs.com>2004-04-07 03:00:43 +0000
commitc040ec62e11b5140e52ee0f59f9fc70a94b5ac5d (patch)
treed2031b4e39c16b80ed8090e9e169547d9ac85528 /python/generator_lasso_strings.py
parentbeeae477e9c544e707d27101ce4e9c6c6cd80d70 (diff)
downloadlasso-c040ec62e11b5140e52ee0f59f9fc70a94b5ac5d.tar.gz
lasso-c040ec62e11b5140e52ee0f59f9fc70a94b5ac5d.tar.xz
lasso-c040ec62e11b5140e52ee0f59f9fc70a94b5ac5d.zip
*** empty log message ***
Diffstat (limited to 'python/generator_lasso_strings.py')
-rwxr-xr-xpython/generator_lasso_strings.py84
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()