diff --git a/utils/google_utils.py b/utils/google_utils.py index 93a201b3..bb7e5dd1 100644 --- a/utils/google_utils.py +++ b/utils/google_utils.py @@ -2,36 +2,40 @@ # pip install --upgrade google-cloud-storage import os +import time # from google.cloud import storage -def gdrive_download(files=(('1HaXkef9z6y5l4vUnCYgdmEAj61c6bfWO', 'coco.zip'))): +def gdrive_download(id='1HaXkef9z6y5l4vUnCYgdmEAj61c6bfWO', name='coco.zip'): # https://gist.github.com/tanaikech/f0f2d122e05bf5f971611258c22c110f # Downloads a file from Google Drive, accepting presented query # from utils.google_utils import *; gdrive_download() + t = time.time() - for (id, name) in files: - print('Downloading ''https://drive.google.com/uc?export=download&id=%s'' as ''%s''...' % (id, name)) - if os.path.exists(name): # remove existing - os.remove(name) + print('Downloading https://drive.google.com/uc?export=download&id=%s as %s... ' % (id, name)) + if os.path.exists(name): # remove existing + os.remove(name) - # Attempt small file download - s = 'curl -f -L -o %s https://drive.google.com/uc?export=download&id=%s' % (name, id) - os.system(s) + # Attempt small file download + s = 'curl -f -L -o %s https://drive.google.com/uc?export=download&id=%s' % (name, id) + os.system(s) - # Attempt large file download - if not os.path.exists(name): # file size > 40MB - s = ["curl -c ./cookie -s -L \"https://drive.google.com/uc?export=download&id=%s\" > /dev/null" % id, - "curl -Lb ./cookie \"https://drive.google.com/uc?export=download&confirm=`awk '/download/ {print $NF}' ./cookie`&id=%s\" -o %s" % ( - id, name), - 'rm ./cookie'] - [os.system(x) for x in s] # run commands + # Attempt large file download + if not os.path.exists(name): # file size > 40MB + s = ["curl -c ./cookie -s -L \"https://drive.google.com/uc?export=download&id=%s\" > /dev/null" % id, + "curl -Lb ./cookie \"https://drive.google.com/uc?export=download&confirm=`awk '/download/ {print $NF}' ./cookie`&id=%s\" -o %s" % ( + id, name), + 'rm ./cookie'] + [os.system(x) for x in s] # run commands - # Unzip if archive - if name.endswith('.zip'): - os.system('unzip -q %s' % name) + # Unzip if archive + if name.endswith('.zip'): + print('Unzipping %s... ' % name, end='') + os.system('unzip -q %s' % name) + + print('Done (%.1fs)' % (time.time()-t)) def upload_blob(bucket_name, source_file_name, destination_blob_name):