forked from moreo/QuaPy
39 lines
991 B
Python
Executable File
39 lines
991 B
Python
Executable File
import urllib.request
|
|
from os import listdir, makedirs
|
|
from os.path import isdir, isfile, join, exists, dirname
|
|
|
|
|
|
def download_file(url, archive_filename):
|
|
def progress(blocknum, bs, size):
|
|
total_sz_mb = '%.2f MB' % (size / 1e6)
|
|
current_sz_mb = '%.2f MB' % ((blocknum * bs) / 1e6)
|
|
print('\rdownloaded %s / %s' % (current_sz_mb, total_sz_mb), end='')
|
|
print("Downloading %s" % url)
|
|
urllib.request.urlretrieve(url, filename=archive_filename, reporthook=progress)
|
|
print("")
|
|
|
|
|
|
def download_file_if_not_exists(url, archive_path):
|
|
if exists(archive_path): return
|
|
create_if_not_exist(dirname(archive_path))
|
|
download_file(url,archive_path)
|
|
|
|
|
|
def ls(dir, typecheck):
|
|
el = [f for f in listdir(dir) if typecheck(join(dir, f))]
|
|
el.sort()
|
|
return el
|
|
|
|
|
|
def list_dirs(dir):
|
|
return ls(dir, typecheck=isdir)
|
|
|
|
|
|
def list_files(dir):
|
|
return ls(dir, typecheck=isfile)
|
|
|
|
|
|
def create_if_not_exist(path):
|
|
if not exists(path): makedirs(path)
|
|
|