diff options
Diffstat (limited to 'catapult/devil/devil/android/device_blacklist.py')
-rw-r--r-- | catapult/devil/devil/android/device_blacklist.py | 13 |
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): |