in connectors/sources/sharepoint_online.py [0:0]
def retryable_aiohttp_call(retries):
# TODO: improve utils.retryable to allow custom logic
# that can help choose what to retry
def wrapper(func):
@wraps(func)
async def wrapped(*args, **kwargs):
retry = 1
while retry <= retries:
try:
async for item in func(*args, **kwargs, retry_count=retry):
yield item
break
except (NotFound, BadRequestError):
raise
except Exception:
if retry >= retries:
raise
retry += 1
return wrapped
return wrapper