X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/42377686908783fb9d043e616f099e153f7834bc..7407f41105f8000bb3908d41a31daaf3a30d9440:/sdk/python/arvados/util.py diff --git a/sdk/python/arvados/util.py b/sdk/python/arvados/util.py index 66da2d12af..6c9822e9f0 100644 --- a/sdk/python/arvados/util.py +++ b/sdk/python/arvados/util.py @@ -19,6 +19,9 @@ import arvados from arvados.collection import CollectionReader HEX_RE = re.compile(r'^[0-9a-fA-F]+$') +CR_UNCOMMITTED = 'Uncommitted' +CR_COMMITTED = 'Committed' +CR_FINAL = 'Final' keep_locator_pattern = re.compile(r'[0-9a-f]{32}\+\d+(\+\S+)*') signed_locator_pattern = re.compile(r'[0-9a-f]{32}\+\d+(\+\S+)*\+A\S+(\+\S+)*') @@ -393,6 +396,9 @@ def ca_certs_path(fallback=httplib2.CA_CERTS): it returns the value of `fallback` (httplib2's CA certs by default). """ for ca_certs_path in [ + # SSL_CERT_FILE and SSL_CERT_DIR are openssl overrides - note + # that httplib2 itself also supports HTTPLIB2_CA_CERTS. + os.environ.get('SSL_CERT_FILE'), # Arvados specific: '/etc/arvados/ca-certificates.crt', # Debian: @@ -400,7 +406,7 @@ def ca_certs_path(fallback=httplib2.CA_CERTS): # Red Hat: '/etc/pki/tls/certs/ca-bundle.crt', ]: - if os.path.exists(ca_certs_path): + if ca_certs_path and os.path.exists(ca_certs_path): return ca_certs_path return fallback @@ -416,3 +422,11 @@ def new_request_id(): rid += chr(c+ord('a')-10) n = n // 36 return rid + +def get_config_once(svc): + if not svc._rootDesc.get('resources').get('configs', False): + # Old API server version, no config export endpoint + return {} + if not hasattr(svc, '_cached_config'): + svc._cached_config = svc.configs().get().execute() + return svc._cached_config