Second commit
This commit is contained in:
parent
bba3d4e411
commit
e515b5a67b
34
__init__.py
34
__init__.py
|
@ -1,5 +1,4 @@
|
|||
import requests
|
||||
import json
|
||||
|
||||
REFRESH_URL = 'https://openapi-login.planday.com/connect/token'
|
||||
SHIFTS_URL= "https://openapi.planday.com/scheduling/v1/shifts"
|
||||
|
@ -28,6 +27,21 @@ class Planday(object):
|
|||
response = requests.get(url, headers=self.get_headers(), params=params)
|
||||
return response
|
||||
|
||||
def __get_json(self, url, params={}):
|
||||
response = self.__get(url, params=params)
|
||||
if response.status_code == 200:
|
||||
json = response.json()
|
||||
if 'paging' not in json:
|
||||
return json['data']
|
||||
paging = json['paging']
|
||||
if 'limit' in paging and 'total' in paging and \
|
||||
paging['limit'] + (paging['offset'] if 'offset' in paging else 0) < paging['total']:
|
||||
params['offset'] = paging['limit'] + (paging['offset'] if 'offset' in paging else 0)
|
||||
return json['data'] + self.__get_json(url, params)
|
||||
return json['data']
|
||||
print(response.json())
|
||||
raise response
|
||||
|
||||
def get_headers(self):
|
||||
return {'X-ClientId': self.client_id, 'Authorization': 'Bearer {0}'.format(self.access_token)}
|
||||
|
||||
|
@ -37,23 +51,11 @@ class Planday(object):
|
|||
params['to'] = to
|
||||
if from_ != None:
|
||||
params['from'] = from_
|
||||
response = self.__get(SHIFTS_URL, params=params)
|
||||
if response.status_code == 200:
|
||||
return response.json()
|
||||
else:
|
||||
print("Error getting shifts", response.status_code, response.text)
|
||||
return self.__get_json(SHIFTS_URL, params=params)
|
||||
|
||||
def get_employee(self, employee_id):
|
||||
url = "https://openapi.planday.com/hr/v1/employees/{0}".format(employee_id)
|
||||
response = self.__get(url)
|
||||
if response.status_code == 200:
|
||||
return response.json()
|
||||
else:
|
||||
print("Error getting shifts", response.status_code, response.text)
|
||||
return self.__get_json(url)
|
||||
|
||||
def get_employees(self):
|
||||
response = self.__get("https://openapi.planday.com/hr/v1/employees/")
|
||||
if response.status_code == 200:
|
||||
return response.json()
|
||||
else:
|
||||
print("Error getting shifts", response.status_code, response.text)
|
||||
return self.__get_json("https://openapi.planday.com/hr/v1/employees/")
|
||||
|
|
Loading…
Reference in New Issue