def _call_api(self, method_name, *args, **kwargs):
wait_sec = 1
for i in range(7):
try:
method = getattr(self, '_api_{}'.format(method_name))
return method(*args, **kwargs)
except HttpError as error:
error = self._create_error(error)
if error.code == 403 and error.reason == 'userRateLimitExceeded':
time.sleep(wait_sec)
wait_sec *= 2
continue
error.method = method_name
error.method_args = args
error.method_kwargs = kwargs
error.common_params = self.common_params
raise error
评论列表
文章目录