From cf4ec256151dfcd56f59b7373fbb7cb79d9fbd77 Mon Sep 17 00:00:00 2001 From: Marc Bonnici Date: Sat, 31 Mar 2018 19:51:55 +0100 Subject: [PATCH] framework/getters: Ignore connection errors with HTTP getter If the http getter is used but a connection is not avalible, when attempting to fetch the resource index an error will be raised. Now we ignore the error allowing for the remaining getters to be used. --- wa/framework/getters.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/wa/framework/getters.py b/wa/framework/getters.py index 9b368b1c..3af23546 100644 --- a/wa/framework/getters.py +++ b/wa/framework/getters.py @@ -203,7 +203,7 @@ class Http(ResourceGetter): def __init__(self, **kwargs): super(Http, self).__init__(**kwargs) self.logger = logger - self.index = None + self.index = {} def register(self, resolver): resolver.register(self.get, SourcePriority.remote) @@ -212,7 +212,12 @@ class Http(ResourceGetter): if not resource.owner: return # TODO: add support for unowned resources if not self.index: - self.index = self.fetch_index() + try: + self.index = self.fetch_index() + except requests.exceptions.RequestException as e: + msg = 'Skipping HTTP getter due to connection error: {}' + self.logger.debug(msg.format(e.message)) + return if resource.kind == 'apk': # APKs must always be downloaded to run ApkInfo for version # information.