From b30874be747f3c8c610a6b5e0fda22859660f959 Mon Sep 17 00:00:00 2001 From: Peter Rowlands Date: Wed, 24 Aug 2022 15:55:39 +0900 Subject: [PATCH] fs: support version_aware filesystems --- src/dvc_objects/fs/base.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/dvc_objects/fs/base.py b/src/dvc_objects/fs/base.py index 88c010a..3d93fb0 100644 --- a/src/dvc_objects/fs/base.py +++ b/src/dvc_objects/fs/base.py @@ -29,6 +29,8 @@ from fsspec.spec import AbstractFileSystem from typing_extensions import Literal + from .path import Path + logger = logging.getLogger(__name__) @@ -88,7 +90,7 @@ def root_marker(self) -> str: return self.fs.root_marker @cached_property - def path(self): + def path(self) -> "Path": from .path import Path def _getcwd(): @@ -107,6 +109,10 @@ def unstrip_protocol(self, path: str) -> str: def fs(self) -> "AbstractFileSystem": # pylint: disable=method-hidden raise NotImplementedError + @cached_property + def version_aware(self) -> bool: + return getattr(self.fs, "version_aware", False) + @staticmethod def _get_kwargs_from_urls(urlpath: str) -> "Dict[str, Any]": from fsspec.utils import infer_storage_options