From cc2dff765b2f7a194ea9efb28b776c6d745b4671 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Thu, 14 Sep 2017 22:17:40 +0300 Subject: [PATCH] data: check checksum before pulling data Fixes #205 Signed-off-by: Ruslan Kuprieiev --- dvc/data_cloud.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dvc/data_cloud.py b/dvc/data_cloud.py index ea7ef8532..7a6c311d1 100644 --- a/dvc/data_cloud.py +++ b/dvc/data_cloud.py @@ -614,7 +614,11 @@ class DataCloudGCP(DataCloudBase): Logger.error('File "{}" does not exist in the cloud'.format(key)) return None - Logger.info('Downloading cache file from gc "{}/{}"'.format(bucket.name, key)) + if self._cmp_checksum(blob, fname): + Logger.debug('File "{}" matches with "{}".'.format(fname, key)) + return data_item + + Logger.debug('Downloading cache file from gc "{}/{}"'.format(bucket.name, key)) # percent_cb is not available for download_to_filename, so # lets at least update progress at keypoints(start, finish) @@ -629,7 +633,7 @@ class DataCloudGCP(DataCloudBase): progress.finish_target(name) - Logger.info('Downloading completed') + Logger.debug('Downloading completed') return data_item @@ -654,7 +658,7 @@ class DataCloudGCP(DataCloudBase): blob.upload_from_filename(data_item.resolved_cache.relative) progress.finish_target(name) - Logger.info('uploading %s completed' % data_item.resolved_cache.relative) + Logger.debug('uploading %s completed' % data_item.resolved_cache.relative) return data_item