summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gtk/src/create_resources.py6
-rw-r--r--gtk/src/quotestring.py63
2 files changed, 63 insertions, 6 deletions
diff --git a/gtk/src/create_resources.py b/gtk/src/create_resources.py
index 4fdf20b1d..69d9e7d30 100644
--- a/gtk/src/create_resources.py
+++ b/gtk/src/create_resources.py
@@ -148,12 +148,6 @@ def main():
print >> sys.stderr, ( "Error: %s" % str(err) )
sys.exit(1)
- try:
- infile = open(args[0])
- except Exception, err:
- print >> sys.stderr, ( "Error: %s" % str(err) )
- sys.exit(1)
-
if len(args) > 1:
try:
outfile = open(args[1], "w")
diff --git a/gtk/src/quotestring.py b/gtk/src/quotestring.py
new file mode 100644
index 000000000..ee6acb36c
--- /dev/null
+++ b/gtk/src/quotestring.py
@@ -0,0 +1,63 @@
+#! /usr/bin/python
+
+import re
+import getopt
+import sys
+
+def usage():
+ print >> sys.stderr, (
+ "Usage: %s <input> [output]\n"
+ "Summary:\n"
+ " Creates a quoted string suitable for inclusion in a C char*\n\n"
+ "Options:\n"
+ " <input> Input file to quote\n"
+ " <output> Output quoted string [stdout]\n"
+ % sys.argv[0]
+ )
+
+def main():
+ global inc_list
+
+ OPTS = ""
+ try:
+ opts, args = getopt.gnu_getopt(sys.argv[1:], OPTS)
+ except getopt.GetoptError, err:
+ print >> sys.stderr, str(err)
+ usage()
+ sys.exit(2)
+
+ for o, a in opts:
+ usage()
+ assert False, "unhandled option"
+
+ if len(args) > 2 or len(args) < 1:
+ usage()
+ sys.exit(2)
+
+ try:
+ infile = open(args[0])
+ except Exception, err:
+ print >> sys.stderr, ( "Error: %s" % str(err) )
+ sys.exit(1)
+
+ if len(args) > 1:
+ try:
+ outfile = open(args[1], "w")
+ except Exception, err:
+ print >> sys.stderr, ( "Error: %s" % str(err))
+ sys.exit(1)
+ else:
+ outfile = sys.stdout
+
+ ss = infile.read()
+ ss = re.sub("\"", "\\\"", ss)
+ pattern = re.compile("$", re.M)
+ # the replacement string below seems a bit strange, but it seems to be
+ # the only way to get the litteral chars '\' 'n' inserted into the string
+ ss = re.sub(pattern, "\\\\n\"", ss)
+ pattern = re.compile("^", re.M)
+ ss = re.sub(pattern, "\"", ss)
+ outfile.write(ss)
+
+main()
+