Optimize list_xxx request speed
This commit is contained in:
parent
8432eafdca
commit
0f796bbcea
1 changed files with 11 additions and 1 deletions
|
@ -71,8 +71,12 @@ class Re2oAPIClient:
|
|||
return url
|
||||
|
||||
def __getattr__(self, item):
|
||||
|
||||
if item.startswith('list_'):
|
||||
|
||||
def f(max_results=None, params={}, **kwargs):
|
||||
if not 'page_size' in params.keys():
|
||||
params['page_size'] = 'all'
|
||||
response = self.get(
|
||||
self.get_url_for('%s-list' % item[len('list_'):], **kwargs),
|
||||
params=params
|
||||
|
@ -84,20 +88,26 @@ class Re2oAPIClient:
|
|||
results += response['results']
|
||||
return results[:max_results] if max_results else results
|
||||
return f
|
||||
|
||||
elif item.startswith('count_'):
|
||||
|
||||
def f(params={}, **kwargs):
|
||||
params.update({'page_size': 1})
|
||||
if not 'page_size' in params.keys():
|
||||
params['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(params={}, **kwargs):
|
||||
return self.get(
|
||||
self.get_url_for('%s-details' % item[len('view_'):], **kwargs),
|
||||
params=params
|
||||
)
|
||||
return f
|
||||
|
||||
else:
|
||||
raise AttributeError(item)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue