From 7e90522d3f32b2e8669c1f73d93b970ad74d33a5 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Thu, 2 Nov 2017 00:42:58 +0200 Subject: [PATCH] cloud: gcp: decode base64 when comparing files Otherwise comparison with string fails on Python3, as base64 returns bytes. Signed-off-by: Ruslan Kuprieiev --- dvc/data_cloud.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dvc/data_cloud.py b/dvc/data_cloud.py index 357fa786d..8a5752d2e 100644 --- a/dvc/data_cloud.py +++ b/dvc/data_cloud.py @@ -694,7 +694,8 @@ class DataCloudGCP(DataCloudBase): """ Verify local and remote checksums. """ - b64_encoded_md5 = base64.b64encode(file_md5(fname)[1]) + md5 = file_md5(fname)[1] + b64_encoded_md5 = base64.b64encode(md5).decode() if md5 else None if blob.md5_hash == b64_encoded_md5: return True @@ -726,7 +727,6 @@ class DataCloudGCP(DataCloudBase): try: blob.download_to_filename(tmp_file) - data_item.import_cache(tmp_file) except Exception as exc: Logger.error('Failed to download "{}": {}'.format(key, exc)) return None