diff --git a/dvc/tree/gdrive.py b/dvc/tree/gdrive.py index 12779a5c37..302a5ccda0 100644 --- a/dvc/tree/gdrive.py +++ b/dvc/tree/gdrive.py @@ -366,10 +366,7 @@ def _gdrive_upload_file( total=total, disable=no_progress_bar, ) as wrapped: - # PyDrive doesn't like content property setting for empty files - # https://github.com/gsuitedevs/PyDrive/issues/121 - if total: - item.content = wrapped + item.content = wrapped item.Upload() return item @@ -381,9 +378,6 @@ def _gdrive_download_file( # it does not create a file on the remote gdrive_file = self._drive.CreateFile(param) - gdrive_file.FetchMetadata(fields="fileSize") - size = int(gdrive_file["fileSize"]) - with Tqdm( desc=progress_desc, disable=no_progress_bar, @@ -391,13 +385,7 @@ def _gdrive_download_file( # explicit `bar_format` as `total` will be set by `update_to` bar_format=Tqdm.BAR_FMT_DEFAULT, ) as pbar: - if size: - gdrive_file.GetContentFile(to_file, callback=pbar.update_to) - else: - # PyDrive doesn't like downloading empty files - # https://github.com/iterative/dvc/issues/4286 - with open(to_file, "w"): - pass + gdrive_file.GetContentFile(to_file, callback=pbar.update_to) @contextmanager @_gdrive_retry diff --git a/setup.py b/setup.py index ae7200af37..9579d19158 100644 --- a/setup.py +++ b/setup.py @@ -88,7 +88,7 @@ def run(self): # Extra dependencies for remote integrations gs = ["google-cloud-storage==1.19.0"] -gdrive = ["pydrive2>=1.6.1", "six >= 1.13.0"] +gdrive = ["pydrive2>=1.6.2", "six >= 1.13.0"] s3 = ["boto3>=1.9.201"] azure = ["azure-storage-blob>=12.0", "knack"] oss = ["oss2==2.6.1"]