diff options
-rw-r--r-- | gtk/src/create_resources.py | 6 | ||||
-rw-r--r-- | gtk/src/quotestring.py | 63 |
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() + |