Create log for failed downloads

master
Dan Howe 6 years ago
parent a80b24a5d4
commit 40b29cf175

@ -1,6 +1,7 @@
import os
import re
import time
import logging
import requests
import warnings
import pandas as pd
@ -167,13 +168,33 @@ def open_browser(download_dir):
def telemetered_bore_downloader(bore_ids, start_date, end_date, download_dir):
driver = open_browser(download_dir)
# Set up log File
log_name = os.path.join(download_dir, 'errors.log')
logging.basicConfig(filename=log_name, level=logging.ERROR)
# Download bore logs
pbar = tqdm(bore_ids)
for bore_id in pbar:
pbar.set_description(bore_id)
try:
get_telemetered_bore(driver, bore_id, start_date, end_date)
except ValueError as e:
print(e)
except ValueError:
logging.error('Failed to download {}\n'.format(bore_id))
# Tidy up console after tqdm
print('\n')
# Stop logging
logging.shutdown()
with open(log_name, 'r') as f:
log_data = f.read()
# Check contents of log file
if log_data:
warnings.warn(
'Some files failed to download. See log for details.',
stacklevel=2)
else:
os.remove(log_name)
driver.quit()

Loading…
Cancel
Save