Skip to content

Commit 0e32628

Browse files
authored
Merge pull request #561 from erikbern/erikbern/fix-downloads
Fix downloads
2 parents 266b14f + cc7cd1e commit 0e32628

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

ann_benchmarks/datasets.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
import os
22
import random
33
import tarfile
4-
from urllib.request import urlopen, urlretrieve
4+
from urllib.request import build_opener, install_opener, urlopen, urlretrieve
5+
import traceback
56

67
import h5py
78
import numpy
89
from typing import Any, Callable, Dict, Tuple
910

11+
# Needed for Cloudflare's firewall
12+
opener = build_opener()
13+
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
14+
install_opener(opener)
15+
16+
1017
def download(source_url: str, destination_path: str) -> None:
1118
"""
1219
Downloads a file from the provided source URL to the specified destination path
@@ -54,6 +61,7 @@ def get_dataset(dataset_name: str) -> Tuple[h5py.File, int]:
5461
dataset_url = f"https://ann-benchmarks.com/{dataset_name}.hdf5"
5562
download(dataset_url, hdf5_filename)
5663
except:
64+
traceback.print_exc()
5765
print(f"Cannot download {dataset_url}")
5866
if dataset_name in DATASETS:
5967
print("Creating dataset locally")

0 commit comments

Comments
 (0)