From 5de13c6467b09c34c2f4314f14201cd622abfd7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Kervella?= Date: Fri, 25 May 2018 13:34:28 +0000 Subject: [PATCH] Format default to JSON is in requests function --- re2oapi/client.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/re2oapi/client.py b/re2oapi/client.py index c785a1e..d067bb7 100644 --- a/re2oapi/client.py +++ b/re2oapi/client.py @@ -78,7 +78,7 @@ class Re2oAPIClient: def _get_token_from_server(self): response = requests.post( - self.get_url_for('token', forma=None), + self.get_url_for('token'), data={'username': self._username, 'password': self._password} ) if response.status_code == requests.codes.bad_request: @@ -95,33 +95,34 @@ class Re2oAPIClient: self.token = self._get_token_from_server() return self.token['token'] - def get(self, url, *args, **kwargs): + def get(self, url, headers={}, params={}, *args, **kwargs): headers = kwargs.pop('headers', {}) headers.update({ 'Authorization': 'Token {}'.format(self.get_token()) }) - response = requests.get(url, headers=headers, *args, **kwargs) + if not 'format' in params.keys(): + params.update({'format': 'json'}) + response = requests.get(url, headers=headers, params=params, *args, **kwargs) response.raise_for_status() return response.json() - def post(self, url, *args, **kwargs): + def post(self, url, headers={}, params={}, *args, **kwargs): headers = kwargs.pop('headers', {}) headers.update({ 'Authorization': 'Token {}'.format(self.get_token()) }) - response = requests.post(url, headers=headers, *args, **kwargs) + if not 'format' in params.keys(): + params.update({'format': 'json'}) + response = requests.post(url, headers=headers, params=params, *args, **kwargs) response.raise_for_status() return response.json() - def get_url_for(self, name, forma='json', **kwargs): - url = '{proto}://{host}{endpoint}'.format( + def get_url_for(self, name, **kwargs): + return '{proto}://{host}{endpoint}'.format( proto=('https' if self.use_tls else 'http'), host=self.hostname, endpoint=endpoints.get_endpoint_for(name, **kwargs) ) - if forma: - url = '{url}.{forma}/'.format(url=url[:-1], forma=forma) - return url def __getattr__(self, item):