X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/20b2d6f7560e82add928fa14d868c9a4319d4907..480df25dc679998b53f9e7299244ac1ff3f90114:/sdk/python/arvados/safeapi.py diff --git a/sdk/python/arvados/safeapi.py b/sdk/python/arvados/safeapi.py index 9737da1031..5c5c87250a 100644 --- a/sdk/python/arvados/safeapi.py +++ b/sdk/python/arvados/safeapi.py @@ -5,9 +5,11 @@ import config import copy class ThreadSafeApiCache(object): - """Threadsafe wrapper for API objects. This stores and returns a different api - object per thread, because httplib2 which underlies apiclient is not - threadsafe. + """Threadsafe wrapper for API objects. + + This stores and returns a different api object per thread, because httplib2 + which underlies apiclient is not threadsafe. + """ def __init__(self, apiconfig=None, keep_params={}): @@ -19,14 +21,11 @@ class ThreadSafeApiCache(object): def localapi(self): if 'api' not in self.local.__dict__: - self.local.api = api.api('v1', False, apiconfig=self.apiconfig) + self.local.api = api.api_from_config('v1', apiconfig=self.apiconfig) return self.local.api def __getattr__(self, name): # Proxy nonexistent attributes to the thread-local API client. if name == "api_token": return self.apiconfig['ARVADOS_API_TOKEN'] - try: - return getattr(self.localapi(), name) - except AttributeError: - return super(ThreadSafeApiCache, self).__getattr__(name) + return getattr(self.localapi(), name)