aboutsummaryrefslogtreecommitdiff
path: root/catapult/devil/devil/android/device_blacklist.py
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/devil/devil/android/device_blacklist.py')
-rw-r--r--catapult/devil/devil/android/device_blacklist.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/catapult/devil/devil/android/device_blacklist.py b/catapult/devil/devil/android/device_blacklist.py
index 94f9cbec..e8055a77 100644
--- a/catapult/devil/devil/android/device_blacklist.py
+++ b/catapult/devil/devil/android/device_blacklist.py
@@ -22,15 +22,22 @@ class Blacklist(object):
A dict containing bad devices.
"""
with self._blacklist_lock:
+ blacklist = dict()
if not os.path.exists(self._path):
- return dict()
+ return blacklist
+
+ try:
+ with open(self._path, 'r') as f:
+ blacklist = json.load(f)
+ except (IOError, ValueError) as e:
+ logging.warning('Unable to read blacklist: %s', str(e))
+ os.remove(self._path)
- with open(self._path, 'r') as f:
- blacklist = json.load(f)
if not isinstance(blacklist, dict):
logging.warning('Ignoring %s: %s (a dict was expected instead)',
self._path, blacklist)
blacklist = dict()
+
return blacklist
def Write(self, blacklist):