[Python-checkins] distutils2: Automated merge with ssh://bitbucket.org/tarek/distutils2
tarek.ziade
python-checkins at python.org
Sun Jan 30 10:45:09 CET 2011
tarek.ziade pushed d031f7444d8b to distutils2:
http://hg.python.org/distutils2/rev/d031f7444d8b
changeset: 960:d031f7444d8b
parent: 955:4b89c997484d
parent: 959:486bb332c45f
user: Yannick Gingras <ygingras at ygingras.net>
date: Sat Jan 29 18:32:36 2011 -0500
summary:
Automated merge with ssh://bitbucket.org/tarek/distutils2
files:
diff --git a/distutils2/install.py b/distutils2/install.py
--- a/distutils2/install.py
+++ b/distutils2/install.py
@@ -130,8 +130,10 @@
:param dists: distributions to install
:param path: base path to install distribution in
"""
+ path_is_tmp = False
if not path:
path = mkdtemp()
+ path_is_tmp = True
installed_dists, installed_files = [], []
for d in dists:
@@ -146,6 +148,10 @@
for d in installed_dists:
uninstall(d)
raise e
+ finally:
+ if path_is_tmp:
+ shutil.rmtree(path)
+
return installed_files
@@ -317,13 +323,13 @@
def remove(project_name, paths=sys.path):
"""Removes a single project from the installation"""
- tmp = tempfile.mkdtemp(prefix=project_name+'-uninstall')
dist = get_distribution(project_name, paths=paths)
if dist is None:
raise DistutilsError('Distribution %s not found' % project_name)
files = dist.get_installed_files(local=True)
rmdirs = []
rmfiles = []
+ tmp = tempfile.mkdtemp(prefix=project_name+'-uninstall')
try:
for file, md5, size in files:
@@ -339,8 +345,8 @@
rmfiles.append(file)
if dirname not in rmdirs:
rmdirs.append(dirname)
- except OSError:
- os.rmdir(tmp)
+ finally:
+ shutil.rmtree(tmp)
for file in rmfiles:
os.remove(file)
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list