Update preset.
[bertos.git] / wizard / copytree.py
index 99b2e9245b861e1b8a93060d90faea7659343617..884e81e16861275cba3051e469c8658075ec45ea 100644 (file)
@@ -28,7 +28,6 @@
 #
 # Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 #
-# $Id$
 #
 # Author: Lorenzo Berni <duplo@develer.com>
 #
@@ -40,48 +39,45 @@ from shutil import *
 
 del copytree
 
-if sys.version_info < (2, 6, 0):
-    def copytree(src, dst, symlinks=False, ignore_list=[]):
-        """
-        Reimplementation of the shutil.copytree function that use ignore_list.
-        ignore_list is a list containing patterns to ignore during the copy.
-        """
-        names = os.listdir(src)
-        os.makedirs(dst)
-        errors = []
-        for name in names:
-            srcname = os.path.join(src, name)
-            dstname = os.path.join(dst, name)
-            try:
-                ignored = False
-                for ignore in ignore_list:
-                    if fnmatch.fnmatch(name, ignore):
-                        ignored = True
-                        break
-                if ignored:
-                    continue
-                if symlinks and os.path.islink(srcname):
-                    linkto = os.readlink(srcname)
-                    os.symlink(linkto, dstname)
-                elif os.path.isdir(srcname):
-                    copytree(srcname, dstname, symlinks, ignore_list)
-                else:
-                    copy2(srcname, dstname)
-                # XXX What about devices, sockets etc.?
-            except (IOError, os.error), why:
-                errors.append((srcname, dstname, str(why)))
-            # catch the Error from the recursive copytree so that we can
-            # continue with other files
-            except Error, err:
-                errors.extend(err.args[0])
+def copytree(src, dst, symlinks=False, ignore_list=[]):
+    """
+    Reimplementation of the shutil.copytree function that use ignore_list.
+    ignore_list is a list containing patterns to ignore during the copy.
+    """
+    names = os.listdir(src)
+    os.makedirs(dst)
+    errors = []
+    for name in names:
+        srcname = os.path.join(src, name)
+        dstname = os.path.join(dst, name)
         try:
-            copystat(src, dst)
-        except WindowsError:
-            # can't copy file access times on Windows
-            pass
-        except OSError, why:
-            errors.extend((src, dst, str(why)))
-        if errors:
-            raise Error, errors
-else:
-    from shutil import copytree
+            ignored = False
+            for ignore in ignore_list:
+                if fnmatch.fnmatch(name, ignore):
+                    ignored = True
+                    break
+            if ignored:
+                continue
+            if symlinks and os.path.islink(srcname):
+                linkto = os.readlink(srcname)
+                os.symlink(linkto, dstname)
+            elif os.path.isdir(srcname):
+                copytree(srcname, dstname, symlinks, ignore_list)
+            else:
+                copy2(srcname, dstname)
+            # XXX What about devices, sockets etc.?
+        except (IOError, os.error), why:
+            errors.append((srcname, dstname, str(why)))
+        # catch the Error from the recursive copytree so that we can
+        # continue with other files
+        except Error, err:
+            errors.extend(err.args[0])
+    try:
+        copystat(src, dst)
+    except WindowsError:
+        # can't copy file access times on Windows
+        pass
+    except OSError, why:
+        errors.extend((src, dst, str(why)))
+    if errors:
+        raise Error, errors