OSDN Git Service

LinGui:
authorjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 27 Mar 2009 18:55:28 +0000 (18:55 +0000)
committerjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 27 Mar 2009 18:55:28 +0000 (18:55 +0000)
- rewrite tool that creates a quoted string from a file in python
  resulting string is suitable for use as a C char*
- create_resources, remove redundant code from cut/past error

git-svn-id: svn://localhost/HandBrake/trunk@2280 b64f7644-9d1e-0410-96f1-a4d463321fa5

gtk/src/create_resources.py
gtk/src/quotestring.py [new file with mode: 0644]

index 4fdf20b..69d9e7d 100644 (file)
@@ -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 (file)
index 0000000..ee6acb3
--- /dev/null
@@ -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()
+