symbian-qemu-0.9.1-12/python-2.6.1/Mac/scripts/cachersrc.py
changeset 1 2fb8b9db1c86
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian-qemu-0.9.1-12/python-2.6.1/Mac/scripts/cachersrc.py	Fri Jul 31 15:01:17 2009 +0100
@@ -0,0 +1,44 @@
+# Scan the tree passed as argv[0] for .rsrc files, skipping .rsrc.df.rsrc
+# files, and open these. The effect of this is to create the .rsrc.df.rsrc
+# cache files if needed.
+# These are needed on OSX: the .rsrc files are in reality AppleSingle-encoded
+# files. We decode the resources into a datafork-based resource file.
+
+import macresource
+import os
+import sys
+import getopt
+
+class NoArgsError(Exception):
+    pass
+
+def handler((verbose, force), dirname, fnames):
+    for fn in fnames:
+        if fn[-5:] == '.rsrc' and fn[-13:] != '.rsrc.df.rsrc':
+            if force:
+                try:
+                    os.unlink(os.path.join(dirname, fn + '.df.rsrc'))
+                except IOError:
+                    pass
+            macresource.open_pathname(os.path.join(dirname, fn), verbose=verbose)
+
+def main():
+    try:
+        opts, args = getopt.getopt(sys.argv[1:], 'vf')
+        if not args:
+            raise NoArgsError
+    except (getopt.GetoptError, NoArgsError):
+        sys.stderr.write('Usage: cachersrc.py dirname ...\n')
+        sys.exit(1)
+    verbose = 0
+    force = 0
+    for o, v in opts:
+        if o == '-v':
+            verbose = 1
+        if o == '-f':
+            force = 1
+    for dir in sys.argv[1:]:
+        os.path.walk(dir, handler, (verbose, force))
+
+if __name__ == '__main__':
+    main()