Add support for params in query and page_size optimizqtion

This commit is contained in:
Maël Kervella 2018-05-24 22:31:55 +00:00
parent 97444412ec
commit de759e417d

View file

@ -73,9 +73,10 @@ class Re2oAPIClient:
def __getattr__(self, item):
if item.startswith('list_'):
def f(max_results=None, **kwargs):
def f(max_results=None, params={}, **kwargs):
response = self.get(
self.get_url_for('%s-list' % item[len('list_'):], **kwargs),
params=params
)
results = response['results']
while response['next'] is not None and \
@ -85,15 +86,18 @@ class Re2oAPIClient:
return results[:max_results] if max_results else results
return f
elif item.startswith('count_'):
def f(**kwargs):
def f(params={}, **kwargs):
params.update({'page_size': 1})
return self.get(
self.get_url_for('%s-list' % item[len('count_'):], **kwargs),
params=params
)['count']
return f
elif item.startswith('view_'):
def f(**kwargs):
def f(params={}, **kwargs):
return self.get(
self.get_url_for('%s-details' % item[len('view_'):], **kwargs),
params=params
)
return f
else: