@@ -31,6 +31,7 @@ def __init__(self, **kwargs):
3131 self .api_token = kwargs .get ('api_token' , None )
3232 self .timeout = kwargs .get ('timeout' , None )
3333 self .verify = kwargs .get ('verify' , None )
34+ self .pagination = kwargs .get ('pagination' , False )
3435
3536 self .http = requests .Session ()
3637
@@ -61,6 +62,15 @@ def _request(self, url, method, **kwargs):
6162 except ValueError :
6263 body = None
6364
65+ if not self .pagination :
66+ if body is not None and 'meta' in body and 'pagination' in body ['meta' ]:
67+ page_info = body ['meta' ]['pagination' ]
68+ if page_info ['total' ] > page_info ['count' ]:
69+ # There are items not displayed in our result
70+ kwargs .setdefault ('params' , kwargs .get ('params' , {}))
71+ kwargs ['params' ]['per_page' ] = page_info ['total' ]
72+ return self ._request (url , method , ** kwargs )
73+
6474 return resp , body
6575
6676 def _delete (self , path , ** kwargs ):
@@ -70,7 +80,7 @@ def _delete(self, path, **kwargs):
7080
7181 def _get (self , path , ** kwargs ):
7282 url = "%s/%s" % (self .endpoint , path )
73- reponse , data = self ._request (url , 'GET' , ** kwargs )
83+ response , data = self ._request (url , 'GET' , ** kwargs )
7484 return json .dumps (data , indent = 2 )
7585
7686 def _post (self , path , ** kwargs ):
0 commit comments