diff --git a/ara/clients/http.py b/ara/clients/http.py index c5c10e3..29d253e 100644 --- a/ara/clients/http.py +++ b/ara/clients/http.py @@ -20,22 +20,23 @@ import json import logging -import requests + import pbr.version +import requests CLIENT_VERSION = pbr.version.VersionInfo(__name__).release_string() class HttpClient(object): - def __init__(self, endpoint='http://127.0.0.1:8000', timeout=30): + def __init__(self, endpoint="http://127.0.0.1:8000", timeout=30): self.log = logging.getLogger(__name__) self.endpoint = endpoint self.timeout = timeout self.headers = { - 'User-Agent': 'ara-http-client_%s' % CLIENT_VERSION, - 'Accept': 'application/json', - 'Content-Type': 'application/json' + "User-Agent": "ara-http-client_%s" % CLIENT_VERSION, + "Accept": "application/json", + "Content-Type": "application/json", } self.http = requests.Session() self.http.headers.update(self.headers) @@ -51,58 +52,42 @@ class HttpClient(object): def get(self, url, **payload): if payload: - return self._request('get', url, params=json.dumps(payload)) + return self._request("get", url, params=json.dumps(payload)) else: - return self._request('get', url) + return self._request("get", url) def patch(self, url, **payload): - return self._request('patch', url, data=json.dumps(payload)) + return self._request("patch", url, data=json.dumps(payload)) def post(self, url, **payload): - return self._request('post', url, data=json.dumps(payload)) + return self._request("post", url, data=json.dumps(payload)) def put(self, url, **payload): - return self._request('put', url, data=json.dumps(payload)) + return self._request("put", url, data=json.dumps(payload)) def delete(self, url): - return self._request('delete', url) + return self._request("delete", url) class AraHttpClient(object): - def __init__(self, endpoint='http://127.0.0.1:8000', timeout=30): + def __init__(self, endpoint="http://127.0.0.1:8000", timeout=30): self.log = logging.getLogger(__name__) self.client = HttpClient(endpoint, timeout) def _request(self, method, url, **kwargs): func = getattr(self.client, method) - if method == 'delete': + if method == "delete": response = func(url) else: response = func(url, **kwargs) if response.status_code >= 500: - self.log.error( - 'Failed to {method} on {url}: {content}'.format( - method=method, - url=url, - content=kwargs - ) - ) + self.log.error("Failed to {method} on {url}: {content}".format(method=method, url=url, content=kwargs)) - self.log.debug('HTTP {status}: {method} on {url}'.format( - status=response.status_code, - method=method, - url=url - )) + self.log.debug("HTTP {status}: {method} on {url}".format(status=response.status_code, method=method, url=url)) if response.status_code not in [200, 201, 204]: - self.log.error( - 'Failed to {method} on {url}: {content}'.format( - method=method, - url=url, - content=kwargs - ) - ) + self.log.error("Failed to {method} on {url}: {content}".format(method=method, url=url, content=kwargs)) if response.status_code == 204: return response @@ -110,16 +95,16 @@ class AraHttpClient(object): return response.json() def get(self, endpoint, **kwargs): - return self._request('get', endpoint, **kwargs) + return self._request("get", endpoint, **kwargs) def patch(self, endpoint, **kwargs): - return self._request('patch', endpoint, **kwargs) + return self._request("patch", endpoint, **kwargs) def post(self, endpoint, **kwargs): - return self._request('post', endpoint, **kwargs) + return self._request("post", endpoint, **kwargs) def put(self, endpoint, **kwargs): - return self._request('put', endpoint, **kwargs) + return self._request("put", endpoint, **kwargs) def delete(self, endpoint, **kwargs): - return self._request('delete', endpoint) + return self._request("delete", endpoint) diff --git a/ara/clients/offline.py b/ara/clients/offline.py index c84528d..dd44695 100644 --- a/ara/clients/offline.py +++ b/ara/clients/offline.py @@ -32,15 +32,15 @@ class AraOfflineClient(object): from django.core.management import execute_from_command_line from django.test import Client - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ara.server.settings') + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ara.server.settings") # Automatically create the database and run migrations (is there a better way?) - execute_from_command_line(['django', 'migrate']) + execute_from_command_line(["django", "migrate"]) # Set up the things Django needs django_setup() except ImportError as e: - self.log.error('The offline client requires ara-server to be installed') + self.log.error("The offline client requires ara-server to be installed") raise e self.client = Client() @@ -49,39 +49,24 @@ class AraOfflineClient(object): func = getattr(self.client, method) # TODO: Is there a better way than doing this if/else ? if kwargs: - response = func( - endpoint, - json.dumps(kwargs), - content_type='application/json' - ) + response = func(endpoint, json.dumps(kwargs), content_type="application/json") else: - response = func( - endpoint, - content_type='application/json' - ) + response = func(endpoint, content_type="application/json") if response.status_code >= 500: self.log.error( - 'Failed to {method} on {endpoint}: {content}'.format( - method=method, - endpoint=endpoint, - content=kwargs - ) + "Failed to {method} on {endpoint}: {content}".format(method=method, endpoint=endpoint, content=kwargs) ) - self.log.debug('HTTP {status}: {method} on {endpoint}'.format( - status=response.status_code, - method=method, - endpoint=endpoint - )) + self.log.debug( + "HTTP {status}: {method} on {endpoint}".format( + status=response.status_code, method=method, endpoint=endpoint + ) + ) if response.status_code not in [200, 201, 204]: self.log.error( - 'Failed to {method} on {endpoint}: {content}'.format( - method=method, - endpoint=endpoint, - content=kwargs - ) + "Failed to {method} on {endpoint}: {content}".format(method=method, endpoint=endpoint, content=kwargs) ) if response.status_code == 204: @@ -90,16 +75,16 @@ class AraOfflineClient(object): return response.json() def get(self, endpoint, **kwargs): - return self._request('get', endpoint, **kwargs) + return self._request("get", endpoint, **kwargs) def patch(self, endpoint, **kwargs): - return self._request('patch', endpoint, **kwargs) + return self._request("patch", endpoint, **kwargs) def post(self, endpoint, **kwargs): - return self._request('post', endpoint, **kwargs) + return self._request("post", endpoint, **kwargs) def put(self, endpoint, **kwargs): - return self._request('put', endpoint, **kwargs) + return self._request("put", endpoint, **kwargs) def delete(self, endpoint, **kwargs): - return self._request('delete', endpoint, **kwargs) + return self._request("delete", endpoint, **kwargs) diff --git a/ara/clients/utils.py b/ara/clients/utils.py index e1ce500..1da3e1d 100644 --- a/ara/clients/utils.py +++ b/ara/clients/utils.py @@ -15,14 +15,14 @@ # You should have received a copy of the GNU General Public License # along with ARA. If not, see . -from ara.clients.offline import AraOfflineClient 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': + if client is None or client == "offline": return AraOfflineClient(**kwargs) - elif client == 'http': + elif client == "http": return AraHttpClient(**kwargs) else: - raise ValueError('Unsupported client: %s' % client) + raise ValueError("Unsupported client: %s" % client)