projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
11158: Fixes & test updates for ProjectDirectory.
[arvados.git]
/
sdk
/
python
/
arvados
/
safeapi.py
diff --git
a/sdk/python/arvados/safeapi.py
b/sdk/python/arvados/safeapi.py
index 9737da1031334178b5cfb39102f0d7022f6083c6..5c8a8369394707418ccff484bb6c38f8a5677b7d 100644
(file)
--- a/
sdk/python/arvados/safeapi.py
+++ b/
sdk/python/arvados/safeapi.py
@@
-1,13
+1,23
@@
-import threading
-import api
-import keep
-import config
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+from __future__ import absolute_import
+
+from builtins import object
import copy
import copy
+import threading
+
+import arvados
+import arvados.keep as keep
+import arvados.config as config
class ThreadSafeApiCache(object):
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={}):
"""
def __init__(self, apiconfig=None, keep_params={}):
@@
-19,14
+29,11
@@
class ThreadSafeApiCache(object):
def localapi(self):
if 'api' not in self.local.__dict__:
def localapi(self):
if 'api' not in self.local.__dict__:
- self.local.api = a
pi.api('v1', False
, apiconfig=self.apiconfig)
+ self.local.api = a
rvados.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']
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)