summaryrefslogtreecommitdiff
path: root/eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/rmtree.py
diff options
context:
space:
mode:
Diffstat (limited to 'eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/rmtree.py')
-rw-r--r--eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/rmtree.py66
1 files changed, 0 insertions, 66 deletions
diff --git a/eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/rmtree.py b/eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/rmtree.py
deleted file mode 100644
index a4995f2..0000000
--- a/eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/rmtree.py
+++ /dev/null
@@ -1,66 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2006 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.0 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-
-
-import shutil
-import os
-import doctest
-
-def rmtree (path):
- """
- A variant of shutil.rmtree which tries hard to be successful
- On windows shutil.rmtree aborts when it tries to delete a
- read only file.
- This tries to chmod the file to writeable and retries before giving up.
-
- >>> from tempfile import mkdtemp
-
- Let's make a directory ...
-
- >>> d = mkdtemp()
-
- and make sure it is actually there
-
- >>> os.path.isdir (d)
- 1
-
- Now create a file ...
-
- >>> foo = os.path.join (d, 'foo')
- >>> open (foo, 'w').write ('huhu')
-
- and make it unwriteable
-
- >>> os.chmod (foo, 0400)
-
- rmtree should be able to remove it:
-
- >>> rmtree (d)
-
- and now the directory is gone
-
- >>> os.path.isdir (d)
- 0
- """
- def retry_writeable (func, path, exc):
- os.chmod (path, 0600)
- func (path)
-
- shutil.rmtree (path, onerror = retry_writeable)
-
-def test_suite():
- return doctest.DocTestSuite()
-
-if "__main__" == __name__:
- doctest.testmod()