in export.py [0:0]
def download_with_retry(url, num_retries=5):
for num_retry in range(num_retries):
try:
time.sleep(num_retry**2) # exponential backoff
response = urlopen(url)
except HTTPError, e:
logging.error(str.format("download of {} failed on {}th retry with HTTP Error: {}", url, num_retry, e.code))
except URLError, e:
logging.error(str.format("download of {} failed on {}th retry with URL Error: {}", url, num_retry, e.reason))
else:
return response.read()