@@ -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