dvcfs: default open to binary mode

This commit is contained in:
Saugat Pachhai (सौगात)
2022-09-15 13:11:52 +03:00
committed by Ruslan Kuprieiev
parent f50ae589ba
commit fa45a9bbba
+4 -7
View File
@@ -218,23 +218,20 @@ class _DvcFileSystem(AbstractFileSystem): # pylint:disable=abstract-method
dvc_fs = self._datafss.get(repo_key) dvc_fs = self._datafss.get(repo_key)
return repo, dvc_fs, subkey return repo, dvc_fs, subkey
def open( def _open(
self, path, mode="r", encoding="utf-8", **kwargs self, path, mode="rb", **kwargs
): # pylint: disable=arguments-renamed, arguments-differ ): # pylint: disable=arguments-renamed, arguments-differ
if "b" in mode:
encoding = None
key = self._get_key_from_relative(path) key = self._get_key_from_relative(path)
fs_path = self._from_key(key) fs_path = self._from_key(key)
try: try:
return self.repo.fs.open(fs_path, mode=mode, encoding=encoding) return self.repo.fs.open(fs_path, mode=mode)
except FileNotFoundError: except FileNotFoundError:
_, dvc_fs, subkey = self._get_subrepo_info(key) _, dvc_fs, subkey = self._get_subrepo_info(key)
if not dvc_fs: if not dvc_fs:
raise raise
dvc_path = _get_dvc_path(dvc_fs, subkey) dvc_path = _get_dvc_path(dvc_fs, subkey)
return dvc_fs.open(dvc_path, mode=mode, encoding=encoding, **kwargs) return dvc_fs.open(dvc_path, mode=mode)
def isdvc(self, path, **kwargs): def isdvc(self, path, **kwargs):
key = self._get_key_from_relative(path) key = self._get_key_from_relative(path)