Improve utils.get_client to supply sane defaults

This will make it easier to get started.

Change-Id: I46a1944701f544db202b80871e01a382770e2148
This commit is contained in:
David Moreau Simard 2019-01-18 11:40:26 -05:00
parent b4e0ed4bec
commit f460f76b7e
No known key found for this signature in database
GPG Key ID: CBEB466764A9E621
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')")