[Checkins] SVN: zc.buildout/branches/help-api/src/zc/buildout/ - refactored rmtree functionality

Godefroid Chapelle gotcha at bubblenet.be
Sun Mar 29 17:17:23 EDT 2009


Log message for revision 98470:
  - refactored rmtree functionality
  - further rmtree fixes for Windows

Changed:
  U   zc.buildout/branches/help-api/src/zc/buildout/buildout.py
  U   zc.buildout/branches/help-api/src/zc/buildout/testing.py
  U   zc.buildout/branches/help-api/src/zc/buildout/tests.py

-=-
Modified: zc.buildout/branches/help-api/src/zc/buildout/buildout.py
===================================================================
--- zc.buildout/branches/help-api/src/zc/buildout/buildout.py	2009-03-29 21:17:16 UTC (rev 98469)
+++ zc.buildout/branches/help-api/src/zc/buildout/buildout.py	2009-03-29 21:17:23 UTC (rev 98470)
@@ -32,6 +32,8 @@
 import zc.buildout
 import zc.buildout.easy_install
 
+from rmtree import rmtree
+
 realpath = zc.buildout.easy_install.realpath
 
 pkg_resources_loc = pkg_resources.working_set.find(
@@ -569,7 +571,7 @@
                 continue
             f = self._buildout_path(f)
             if os.path.isdir(f):
-                shutil.rmtree(f)
+                rmtree(f)
             elif os.path.isfile(f):
                 os.remove(f)
                 
@@ -1079,7 +1081,7 @@
             except:
                 for p in self._created:
                     if os.path.isdir(p):
-                        shutil.rmtree(p)
+                        rmtree(p)
                     elif os.path.isfile(p):
                         os.remove(p)
                     else:

Modified: zc.buildout/branches/help-api/src/zc/buildout/testing.py
===================================================================
--- zc.buildout/branches/help-api/src/zc/buildout/testing.py	2009-03-29 21:17:16 UTC (rev 98469)
+++ zc.buildout/branches/help-api/src/zc/buildout/testing.py	2009-03-29 21:17:23 UTC (rev 98470)
@@ -26,6 +26,8 @@
 import zc.buildout.buildout
 import zc.buildout.easy_install
 
+from rmtree import rmtree
+
 fsync = getattr(os, 'fsync', lambda fileno: None)
 
 setuptools_location = pkg_resources.working_set.find(
@@ -87,13 +89,6 @@
 def get(url):
     return urllib2.urlopen(url).read()
 
-def _rmtree (path):
-    def retry_writeable (func, path, exc):
-        os.chmod (path, 0600)
-        func (path)
-
-    shutil.rmtree (path, onerror = retry_writeable)
-
 def _runsetup(setup, executable, *args):
     if os.path.isdir(setup):
         setup = os.path.join(setup, 'setup.py')
@@ -109,7 +104,7 @@
         os.chdir(d)
         os.spawnle(os.P_WAIT, executable, executable, setup, *args)
         if os.path.exists('build'):
-            _rmtree('build')
+            rmtree('build')
     finally:
         os.chdir(here)
 
@@ -170,7 +165,7 @@
 
 
     base = tempfile.mkdtemp('buildoutSetUp')
-    register_teardown(lambda base=base: _rmtree(base))
+    register_teardown(lambda base=base: rmtree(base))
 
     old_home = os.environ.get('HOME')
     os.environ['HOME'] = os.path.join(base, 'bbbBadHome')
@@ -185,7 +180,7 @@
     os.mkdir(base)
 
     tmp = tempfile.mkdtemp('buildouttests')
-    register_teardown(lambda: _rmtree(tmp))
+    register_teardown(lambda: rmtree(tmp))
     
     zc.buildout.easy_install.default_index_url = 'file://'+tmp
     os.environ['buildout-testing-index-url'] = (

Modified: zc.buildout/branches/help-api/src/zc/buildout/tests.py
===================================================================
--- zc.buildout/branches/help-api/src/zc/buildout/tests.py	2009-03-29 21:17:16 UTC (rev 98469)
+++ zc.buildout/branches/help-api/src/zc/buildout/tests.py	2009-03-29 21:17:23 UTC (rev 98470)
@@ -3103,6 +3103,7 @@
                ]),
             ),
         zc.buildout.testselectingpython.test_suite(),
+        zc.buildout.rmtree.test_suite(),
         doctest.DocFileSuite(
             'windows.txt',
             setUp=zc.buildout.testing.buildoutSetUp,



More information about the Checkins mailing list