diff options
Diffstat (limited to 'platform_utils.py')
-rw-r--r-- | platform_utils.py | 15 |
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 @@ | |||
16 | import os | 16 | import os |
17 | import platform | 17 | import platform |
18 | import select | 18 | import select |
19 | import shutil | ||
20 | import stat | ||
19 | 21 | ||
20 | from Queue import Queue | 22 | from Queue import Queue |
21 | from threading import Thread | 23 | from 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 | |||
217 | def rmtree(path): | ||
218 | if isWindows(): | ||
219 | shutil.rmtree(path, onerror=handle_rmtree_error) | ||
220 | else: | ||
221 | shutil.rmtree(path) | ||
222 | |||
223 | |||
224 | def handle_rmtree_error(function, path, excinfo): | ||
225 | # Allow deleting read-only files | ||
226 | os.chmod(path, stat.S_IWRITE) | ||
227 | function(path) | ||