summaryrefslogtreecommitdiffstats
path: root/platform_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'platform_utils.py')
-rw-r--r--platform_utils.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/platform_utils.py b/platform_utils.py
index f4dfa0b1..4417c5a3 100644
--- a/platform_utils.py
+++ b/platform_utils.py
@@ -16,6 +16,8 @@
16import os 16import os
17import platform 17import platform
18import select 18import select
19import shutil
20import stat
19 21
20from Queue import Queue 22from Queue import Queue
21from threading import Thread 23from threading import Thread
@@ -210,3 +212,16 @@ def _winpath_is_valid(path):
210 return tail[0] == os.sep # "x:foo" is invalid 212 return tail[0] == os.sep # "x:foo" is invalid
211 else: 213 else:
212 return not drive # "x:" is invalid 214 return not drive # "x:" is invalid
215
216
217def rmtree(path):
218 if isWindows():
219 shutil.rmtree(path, onerror=handle_rmtree_error)
220 else:
221 shutil.rmtree(path)
222
223
224def handle_rmtree_error(function, path, excinfo):
225 # Allow deleting read-only files
226 os.chmod(path, stat.S_IWRITE)
227 function(path)