Index: download_from_google_storage.py |
=================================================================== |
--- download_from_google_storage.py (revision 237112) |
+++ download_from_google_storage.py (working copy) |
@@ -163,16 +163,17 @@ |
def _downloader_worker_thread(thread_num, q, force, base_url, |
- gsutil, out_q, ret_codes): |
+ gsutil, out_q, ret_codes, verbose): |
while True: |
input_sha1_sum, output_filename = q.get() |
if input_sha1_sum is None: |
return |
if os.path.exists(output_filename) and not force: |
if get_sha1(output_filename) == input_sha1_sum: |
- out_q.put( |
- '%d> File %s exists and SHA1 matches. Skipping.' % ( |
- thread_num, output_filename)) |
+ if verbose: |
+ out_q.put( |
+ '%d> File %s exists and SHA1 matches. Skipping.' % ( |
+ thread_num, output_filename)) |
continue |
# Check if file exists. |
file_url = '%s/%s' % (base_url, input_sha1_sum) |
@@ -216,7 +217,7 @@ |
def download_from_google_storage( |
input_filename, base_url, gsutil, num_threads, directory, recursive, |
- force, output, ignore_errors, sha1_file): |
+ force, output, ignore_errors, sha1_file, verbose): |
# Start up all the worker threads. |
all_threads = [] |
download_start = time.time() |
@@ -228,7 +229,7 @@ |
t = threading.Thread( |
target=_downloader_worker_thread, |
args=[thread_num, work_queue, force, base_url, |
- gsutil, stdout_queue, ret_codes]) |
+ gsutil, stdout_queue, ret_codes, verbose]) |
t.daemon = True |
t.start() |
all_threads.append(t) |
@@ -255,11 +256,12 @@ |
max_ret_code = max(ret_code, max_ret_code) |
if message: |
print >> sys.stderr, message |
- if not max_ret_code: |
+ if verbose and not max_ret_code: |
print 'Success!' |
- print 'Downloading %d files took %1f second(s)' % ( |
- work_queue_size, time.time() - download_start) |
+ if verbose: |
+ print 'Downloading %d files took %1f second(s)' % ( |
+ work_queue_size, time.time() - download_start) |
return max_ret_code |
@@ -308,14 +310,17 @@ |
help='A regular expression that is compared against ' |
'Python\'s sys.platform. If this option is specified, ' |
'the download will happen only if there is a match.') |
+ parser.add_option('-v', '--verbose', action='store_true', |
+ help='Output extra diagnostic and progress information.') |
(options, args) = parser.parse_args() |
# Make sure we should run at all based on platform matching. |
if options.platform: |
if not re.match(options.platform, sys.platform): |
- print('The current platform doesn\'t match "%s", skipping.' % |
- options.platform) |
+ if options.verbose: |
+ print('The current platform doesn\'t match "%s", skipping.' % |
+ options.platform) |
return 0 |
# Set the boto file to /dev/null if we don't need auth. |
@@ -383,7 +388,7 @@ |
return download_from_google_storage( |
input_filename, base_url, gsutil, options.num_threads, options.directory, |
options.recursive, options.force, options.output, options.ignore_errors, |
- options.sha1_file) |
+ options.sha1_file, options.verbose) |
if __name__ == '__main__': |