diff --git a/dvc/dependency/__init__.py b/dvc/dependency/__init__.py index 91bd96c23..76e1c87cc 100644 --- a/dvc/dependency/__init__.py +++ b/dvc/dependency/__init__.py @@ -11,6 +11,8 @@ from dvc.dependency.local import LocalDependency from dvc.dependency.param import ParamsDependency from dvc.dependency.s3 import S3Dependency from dvc.dependency.ssh import SSHDependency +from dvc.dependency.webdav import WebDAVDependency +from dvc.dependency.webdavs import WebDAVSDependency from dvc.output.base import BaseOutput from dvc.scheme import Schemes @@ -25,6 +27,8 @@ DEPS = [ HTTPSDependency, S3Dependency, SSHDependency, + WebDAVDependency, + WebDAVSDependency # NOTE: LocalDependency is the default choice ] @@ -37,6 +41,8 @@ DEP_MAP = { Schemes.HDFS: HDFSDependency, Schemes.HTTP: HTTPDependency, Schemes.HTTPS: HTTPSDependency, + Schemes.WEBDAV: WebDAVDependency, + Schemes.WEBDAVS: WebDAVSDependency, } diff --git a/dvc/dependency/webdav.py b/dvc/dependency/webdav.py new file mode 100644 index 000000000..62c1da8c0 --- /dev/null +++ b/dvc/dependency/webdav.py @@ -0,0 +1,8 @@ +from dvc.dependency.base import BaseDependency +from dvc.output.base import BaseOutput + +from ..tree.webdav import WebDAVTree + + +class WebDAVDependency(BaseDependency, BaseOutput): + TREE_CLS = WebDAVTree diff --git a/dvc/dependency/webdavs.py b/dvc/dependency/webdavs.py new file mode 100644 index 000000000..25e320888 --- /dev/null +++ b/dvc/dependency/webdavs.py @@ -0,0 +1,6 @@ +from ..tree.webdavs import WebDAVSTree +from .webdav import WebDAVDependency + + +class WebDAVSDependency(WebDAVDependency): + TREE_CLS = WebDAVSTree diff --git a/tests/unit/dependency/test_webdav.py b/tests/unit/dependency/test_webdav.py new file mode 100644 index 000000000..6e8e07994 --- /dev/null +++ b/tests/unit/dependency/test_webdav.py @@ -0,0 +1,7 @@ +from dvc.dependency.webdav import WebDAVDependency +from tests.unit.dependency.test_local import TestLocalDependency + + +class TestWebDAVDependency(TestLocalDependency): + def _get_cls(self): + return WebDAVDependency