[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