| # Simple Python script to download a file. Used as a fallback | 
 | # when other more reliable methods fail. | 
 | # | 
 | from __future__ import print_function | 
 | import sys | 
 |  | 
 | try: | 
 |     from requests import get | 
 | except ImportError: | 
 |     try: | 
 |         from urllib.request import urlretrieve | 
 |         USING = "urllib.request.urlretrieve" | 
 |     except ImportError: | 
 |         try: | 
 |             from urllib import urlretrieve | 
 |             USING = "urllib.retrieve" | 
 |         except ImportError: | 
 |             print("Python at", sys.executable, "is not suitable", | 
 |                   "for downloading files.", file=sys.stderr) | 
 |             sys.exit(2) | 
 | else: | 
 |     USING = "requests.get" | 
 |  | 
 |     def urlretrieve(url, filename): | 
 |         r = get(url, stream=True) | 
 |         r.raise_for_status() | 
 |         with open(filename, 'wb') as f: | 
 |             for chunk in r.iter_content(chunk_size=1024): | 
 |                 f.write(chunk) | 
 |         return filename | 
 |  | 
 | if __name__ == '__main__': | 
 |     if len(sys.argv) != 3: | 
 |         print("Usage: urlretrieve.py [url] [filename]", file=sys.stderr) | 
 |         sys.exit(1) | 
 |     URL = sys.argv[1] | 
 |     FILENAME = sys.argv[2] | 
 |     print("Downloading from", URL, "to", FILENAME, "using", USING) | 
 |     urlretrieve(URL, FILENAME) |