Index: download_from_google_storage.py |
diff --git a/download_from_google_storage.py b/download_from_google_storage.py |
index 5c1df0324c4c12a749b9abc2977420dcfdc4ad30..291643b1ee429099a1a27dd60731fb1f0c9a1914 100755 |
--- a/download_from_google_storage.py |
+++ b/download_from_google_storage.py |
@@ -100,7 +100,7 @@ class Gsutil(object): |
if ('You are attempting to access protected data with ' |
'no configured credentials.' in err): |
return (403, out, err) |
- if 'No such object' in err: |
+ if 'matched no objects' in err: |
return (404, out, err) |
return (code, out, err) |
@@ -206,11 +206,19 @@ def _downloader_worker_thread(thread_num, q, force, base_url, |
continue |
# Check if file exists. |
file_url = '%s/%s' % (base_url, input_sha1_sum) |
- if gsutil.check_call('ls', file_url)[0] != 0: |
- out_q.put('%d> File %s for %s does not exist, skipping.' % ( |
- thread_num, file_url, output_filename)) |
- ret_codes.put((1, 'File %s for %s does not exist.' % ( |
- file_url, output_filename))) |
+ (code, _, err) = gsutil.check_call('ls', file_url) |
+ if code != 0: |
+ if code == 404: |
+ out_q.put('%d> File %s for %s does not exist, skipping.' % ( |
+ thread_num, file_url, output_filename)) |
+ ret_codes.put((1, 'File %s for %s does not exist.' % ( |
+ file_url, output_filename))) |
+ else: |
+ # Other error, probably auth related (bad ~/.boto, etc). |
+ out_q.put('%d> Failed to fetch file %s for %s, skipping. [Err: %s]' % ( |
+ thread_num, file_url, output_filename, err)) |
+ ret_codes.put((1, 'Failed to fetch file %s for %s. [Err: %s]' % ( |
+ file_url, output_filename, err))) |
continue |
# Fetch the file. |
out_q.put('%d> Downloading %s...' % (thread_num, output_filename)) |