Format default to JSON is in requests function
This commit is contained in:
parent
4e2d821d31
commit
5de13c6467
1 changed files with 11 additions and 10 deletions
|
@ -78,7 +78,7 @@ class Re2oAPIClient:
|
||||||
|
|
||||||
def _get_token_from_server(self):
|
def _get_token_from_server(self):
|
||||||
response = requests.post(
|
response = requests.post(
|
||||||
self.get_url_for('token', forma=None),
|
self.get_url_for('token'),
|
||||||
data={'username': self._username, 'password': self._password}
|
data={'username': self._username, 'password': self._password}
|
||||||
)
|
)
|
||||||
if response.status_code == requests.codes.bad_request:
|
if response.status_code == requests.codes.bad_request:
|
||||||
|
@ -95,33 +95,34 @@ class Re2oAPIClient:
|
||||||
self.token = self._get_token_from_server()
|
self.token = self._get_token_from_server()
|
||||||
return self.token['token']
|
return self.token['token']
|
||||||
|
|
||||||
def get(self, url, *args, **kwargs):
|
def get(self, url, headers={}, params={}, *args, **kwargs):
|
||||||
headers = kwargs.pop('headers', {})
|
headers = kwargs.pop('headers', {})
|
||||||
headers.update({
|
headers.update({
|
||||||
'Authorization': 'Token {}'.format(self.get_token())
|
'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()
|
response.raise_for_status()
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
def post(self, url, *args, **kwargs):
|
def post(self, url, headers={}, params={}, *args, **kwargs):
|
||||||
headers = kwargs.pop('headers', {})
|
headers = kwargs.pop('headers', {})
|
||||||
headers.update({
|
headers.update({
|
||||||
'Authorization': 'Token {}'.format(self.get_token())
|
'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()
|
response.raise_for_status()
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
def get_url_for(self, name, forma='json', **kwargs):
|
def get_url_for(self, name, **kwargs):
|
||||||
url = '{proto}://{host}{endpoint}'.format(
|
return '{proto}://{host}{endpoint}'.format(
|
||||||
proto=('https' if self.use_tls else 'http'),
|
proto=('https' if self.use_tls else 'http'),
|
||||||
host=self.hostname,
|
host=self.hostname,
|
||||||
endpoint=endpoints.get_endpoint_for(name, **kwargs)
|
endpoint=endpoints.get_endpoint_for(name, **kwargs)
|
||||||
)
|
)
|
||||||
if forma:
|
|
||||||
url = '{url}.{forma}/'.format(url=url[:-1], forma=forma)
|
|
||||||
return url
|
|
||||||
|
|
||||||
def __getattr__(self, item):
|
def __getattr__(self, item):
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue