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) | ||
