symbian-qemu-0.9.1-12/python-2.6.1/Mac/Extras.install.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/Extras.install.py	Fri Jul 31 15:01:17 2009 +0100
@@ -0,0 +1,54 @@
+"""Recursively copy a directory but skip undesired files and
+directories (CVS, backup files, pyc files, etc)"""
+
+import sys
+import os
+import shutil
+
+verbose = 1
+debug = 0
+
+def isclean(name):
+    if name == 'CVS': return 0
+    if name == '.cvsignore': return 0
+    if name == '.DS_store': return 0
+    if name == '.svn': return 0
+    if name.endswith('~'): return 0
+    if name.endswith('.BAK'): return 0
+    if name.endswith('.pyc'): return 0
+    if name.endswith('.pyo'): return 0
+    if name.endswith('.orig'): return 0
+    return 1
+
+def copycleandir(src, dst):
+    for cursrc, dirs, files in os.walk(src):
+        assert cursrc.startswith(src)
+        curdst = dst + cursrc[len(src):]
+        if verbose:
+            print "mkdir", curdst
+        if not debug:
+            if not os.path.exists(curdst):
+                os.makedirs(curdst)
+        for fn in files:
+            if isclean(fn):
+                if verbose:
+                    print "copy", os.path.join(cursrc, fn), os.path.join(curdst, fn)
+                if not debug:
+                    shutil.copy2(os.path.join(cursrc, fn), os.path.join(curdst, fn))
+            else:
+                if verbose:
+                    print "skipfile", os.path.join(cursrc, fn)
+        for i in range(len(dirs)-1, -1, -1):
+            if not isclean(dirs[i]):
+                if verbose:
+                    print "skipdir", os.path.join(cursrc, dirs[i])
+                del dirs[i]
+
+def main():
+    if len(sys.argv) != 3:
+        sys.stderr.write("Usage: %s srcdir dstdir\n" % sys.argv[0])
+        sys.exit(1)
+    copycleandir(sys.argv[1], sys.argv[2])
+
+if __name__ == '__main__':
+    main()