summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2019-05-13 16:57:42 +0300
committerLars-Dominik Braun <lars@6xq.net>2019-05-13 16:57:42 +0300
commit46137ca7d0033cb4f5cd0d5e38947fe59bb49ab3 (patch)
tree9fe4e0f342de9385a517794594f74dde04d21644
parentba5dbfd061d328a2140f0a7541ef0fdb6acf5903 (diff)
downloadcrocoite-46137ca7d0033cb4f5cd0d5e38947fe59bb49ab3.tar.gz
crocoite-46137ca7d0033cb4f5cd0d5e38947fe59bb49ab3.tar.bz2
crocoite-46137ca7d0033cb4f5cd0d5e38947fe59bb49ab3.zip
devtools: Try to delete temp Chrome data dir – hard
Fixes #17.
-rw-r--r--crocoite/devtools.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/crocoite/devtools.py b/crocoite/devtools.py
index fd56896..ea46aaa 100644
--- a/crocoite/devtools.py
+++ b/crocoite/devtools.py
@@ -323,7 +323,17 @@ class Process:
async def __aexit__ (self, *exc):
self.p.terminate ()
await self.p.wait ()
- shutil.rmtree (self.userDataDir)
+
+ # Try to delete the temporary directory multiple times. It looks like
+ # Chrome will change files in there even after it exited (i.e. .wait()
+ # returned). Very strange.
+ for i in range (5):
+ try:
+ shutil.rmtree (self.userDataDir)
+ break
+ except:
+ await asyncio.sleep (0.2)
+
self.p = None
return False