Merge "Improve utils.get_client to supply sane defaults"

This commit is contained in:
Zuul 2019-01-21 15:41:21 +00:00 committed by Gerrit Code Review
commit f5edb8d609
1 changed files with 13 additions and 7 deletions

View File

@ -19,10 +19,16 @@ from ara.clients.http import AraHttpClient
from ara.clients.offline import AraOfflineClient
def get_client(client=None, **kwargs):
if client is None or client == "offline":
return AraOfflineClient(**kwargs)
elif client == "http":
return AraHttpClient(**kwargs)
else:
raise ValueError("Unsupported client: %s" % client)
def get_client(client="offline", endpoint="http://127.0.0.1:8000", timeout=30):
"""
Returns a specified client configuration or one with sane defaults.
"""
try:
# fmt: off
return {
"offline": AraOfflineClient(),
"http": AraHttpClient(endpoint=endpoint, timeout=timeout)
}[client]
# fmt: on
except KeyError:
raise ValueError(f"Unsupported API client: {client} (use 'http' or 'offline')")