diff options
| author | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2020-08-17 19:24:01 +0100 |
|---|---|---|
| committer | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2020-08-17 19:24:01 +0100 |
| commit | e334706eb6f148baa6cadb8c2418918e34982ac4 (patch) | |
| tree | 8a49b919e3cb6b50a8ddfe378b417e99728ba071 | |
| parent | Use read_table instead of read_csv (diff) | |
| download | TCPD-e334706eb6f148baa6cadb8c2418918e34982ac4.tar.gz TCPD-e334706eb6f148baa6cadb8c2418918e34982ac4.zip | |
Add retries to the get_measles script
This script occassionally fails on Travis,
so we're adding some robustness to it.
| -rw-r--r-- | datasets/measles/get_measles.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/datasets/measles/get_measles.py b/datasets/measles/get_measles.py index eb58824..13f6dc9 100644 --- a/datasets/measles/get_measles.py +++ b/datasets/measles/get_measles.py @@ -17,9 +17,12 @@ import clevercsv import hashlib import json import os +import sys +import time from functools import wraps from urllib.request import urlretrieve +from urllib.error import URLError DAT_URL = "https://web.archive.org/web/20191128124615if_/https://ms.mcmaster.ca/~bolker/measdata/ewmeas.dat" @@ -70,7 +73,20 @@ def validate(checksum): @validate(MD5_DAT) def download_zip(target_path=None): - urlretrieve(DAT_URL, target_path) + count = 0 + while count < 5: + count += 1 + try: + urlretrieve(DAT_URL, target_path) + return + except URLError as err: + print( + "Error occurred (%r) when trying to download zip. Retrying in 5 seconds" + % err, + sys.stderr, + ) + time.sleep(5) + @validate(MD5_JSON) |
