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