Skip to content

Commit bc27290

Browse files
committed
bug fixes for return_downloaded_files=True output
1 parent 2a7d2ad commit bc27290

1 file changed

Lines changed: 14 additions & 9 deletions

File tree

ECCO-ACCESS/ecco_download.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -156,12 +156,14 @@ def download_files_concurrently(dls, download_dir, n_workers, force=False):
156156
results = list(tqdm(executor.map(download_file, dls, repeat(download_dir), repeat(force)),\
157157
total=len(dls), desc='DL Progress',\
158158
ascii=True, ncols=75, file=sys.stdout))
159-
159+
160160
# add up the total downloaded file sizes
161-
total_download_size_in_bytes = np.sum(np.asarray(results)[:,-1])
161+
total_download_size_in_bytes = 0
162+
for result in results:
163+
total_download_size_in_bytes += result[-1]
162164
# calculate total time spent in the download
163165
total_time_download = time.time() - start_time
164-
166+
165167
print('\n=====================================')
166168
print(f'total downloaded: {np.round(total_download_size_in_bytes/1e6,2)} Mb')
167169
print(f'avg download speed: {np.round(total_download_size_in_bytes/1e6/total_time_download,2)} Mb/s')
@@ -971,7 +973,7 @@ def download_wrapper(url: str, url_append: str, download_dir: str, subset_file_i
971973
+"-n "+subset_file_id+" -u username -p password")
972974
elif download_or_list == 'download':
973975
start = time.time()
974-
try:
976+
try:
975977
# use thread pool to download in parallel, with tqdm progress bar
976978
with ThreadPoolExecutor(max_workers=n_workers) as executor:
977979
results = list(tqdm(executor.map(download_wrapper, grans_urls, repeat(url_append),\
@@ -980,19 +982,22 @@ def download_wrapper(url: str, url_append: str, download_dir: str, subset_file_i
980982
total=len(grans_urls), desc='DL Progress',\
981983
ascii=True, ncols=75, file=sys.stdout))
982984
downloaded_files = []
985+
download_sizes = []
986+
status_codes = []
983987
for result in results:
984-
downloaded_files.append(result[0])
985-
results_array = np.asarray(results)
986-
total_download_size_in_bytes = np.sum(results_array[:,1])
987-
status_codes = results_array[:,-1]
988+
downloaded_files.append(result[0][0])
989+
download_sizes.append(result[1])
990+
status_codes.append(result[-1])
991+
total_download_size_in_bytes = np.sum(np.asarray(download_sizes))
992+
status_codes = np.asarray(status_codes)
988993
except:
989994
downloaded_files = []
990995
total_download_size_in_bytes = 0
991996
status_codes = np.array([]).astype('int32')
992997
for url in grans_urls:
993998
downloaded_file,download_size,status_code \
994999
= download_wrapper(url,url_append,download_dir,subset_file_id,force_redownload)
995-
downloaded_files.append(downloaded_file)
1000+
downloaded_files.append(downloaded_file[0])
9961001
total_download_size_in_bytes += download_size
9971002
status_codes = np.append(status_codes,status_code)
9981003

0 commit comments

Comments
 (0)