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
|
return url
|
||||||
|
|
||||||
def __getattr__(self, item):
|
def __getattr__(self, item):
|
||||||
|
|
||||||
if item.startswith('list_'):
|
if item.startswith('list_'):
|
||||||
|
|
||||||
def f(max_results=None, params={}, **kwargs):
|
def f(max_results=None, params={}, **kwargs):
|
||||||
|
if not 'page_size' in params.keys():
|
||||||
|
params['page_size'] = 'all'
|
||||||
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
|
params=params
|
||||||
|
@ -84,20 +88,26 @@ class Re2oAPIClient:
|
||||||
results += response['results']
|
results += response['results']
|
||||||
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(params={}, **kwargs):
|
def f(params={}, **kwargs):
|
||||||
params.update({'page_size': 1})
|
if not 'page_size' in params.keys():
|
||||||
|
params['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
|
params=params
|
||||||
)['count']
|
)['count']
|
||||||
return f
|
return f
|
||||||
|
|
||||||
elif item.startswith('view_'):
|
elif item.startswith('view_'):
|
||||||
|
|
||||||
def f(params={}, **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
|
params=params
|
||||||
)
|
)
|
||||||
return f
|
return f
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise AttributeError(item)
|
raise AttributeError(item)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue