mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-09 23:10:24 +01:00
deps: unify dumpd method
Signed-off-by: Ruslan Kuprieiev <[email protected]>
This commit is contained in:
@@ -20,10 +20,11 @@ class DependencyBase(object):
|
||||
|
||||
PARAM_PATH = 'path'
|
||||
|
||||
def __init__(self, stage, path):
|
||||
def __init__(self, stage, path, info=None):
|
||||
self.stage = stage
|
||||
self.project = stage.project
|
||||
self.url = path
|
||||
self.info = info
|
||||
|
||||
def __repr__(self):
|
||||
return "{class_name}: '{url}'".format(
|
||||
@@ -77,7 +78,9 @@ class DependencyBase(object):
|
||||
raise NotImplementedError
|
||||
|
||||
def dumpd(self):
|
||||
return {self.PARAM_PATH: self.url}
|
||||
ret = self.info.copy()
|
||||
ret[self.PARAM_PATH] = self.url
|
||||
return ret
|
||||
|
||||
def download(self, to_info):
|
||||
self.remote.download([self.path_info], [to_info])
|
||||
|
||||
@@ -13,8 +13,7 @@ class DependencyGS(DependencyS3):
|
||||
REGEX = RemoteGS.REGEX
|
||||
|
||||
def __init__(self, stage, path, info=None, remote=None):
|
||||
super(DependencyGS, self).__init__(stage, path)
|
||||
self.info = info
|
||||
super(DependencyGS, self).__init__(stage, path, info=info)
|
||||
self.remote = remote if remote else RemoteGS(stage.project, {})
|
||||
bucket = remote.bucket if remote else urlparse(path).netloc
|
||||
path = urlparse(path).path.lstrip('/')
|
||||
|
||||
@@ -13,8 +13,7 @@ class DependencyHDFS(DependencyBase):
|
||||
REGEX = RemoteHDFS.REGEX
|
||||
|
||||
def __init__(self, stage, path, info=None, remote=None):
|
||||
super(DependencyHDFS, self).__init__(stage, path)
|
||||
self.info = info
|
||||
super(DependencyHDFS, self).__init__(stage, path, info=info)
|
||||
self.remote = remote if remote else RemoteHDFS(stage.project, {})
|
||||
if remote:
|
||||
path = posixpath.join(remote.url, urlparse(path).path.lstrip('/'))
|
||||
@@ -31,8 +30,3 @@ class DependencyHDFS(DependencyBase):
|
||||
|
||||
def save(self):
|
||||
self.info = self.remote.save_info(self.path_info)
|
||||
|
||||
def dumpd(self):
|
||||
ret = self.info
|
||||
ret[self.PARAM_PATH] = self.path
|
||||
return ret
|
||||
|
||||
@@ -11,9 +11,8 @@ class DependencyHTTP(DependencyBase):
|
||||
REGEX = RemoteHTTP.REGEX
|
||||
|
||||
def __init__(self, stage, path, info=None, remote=None):
|
||||
super(DependencyHTTP, self).__init__(stage, path)
|
||||
super(DependencyHTTP, self).__init__(stage, path, info=info)
|
||||
|
||||
self.info = info
|
||||
self.remote = remote or RemoteHTTP(stage.project, {})
|
||||
|
||||
if path.startswith('remote'):
|
||||
@@ -27,11 +26,6 @@ class DependencyHTTP(DependencyBase):
|
||||
def save(self):
|
||||
self.info = self.remote.save_info(self.path_info)
|
||||
|
||||
def dumpd(self):
|
||||
ret = self.info
|
||||
ret[self.PARAM_PATH] = self.path
|
||||
return ret
|
||||
|
||||
def changed(self):
|
||||
if not self.exists:
|
||||
return True
|
||||
|
||||
@@ -19,8 +19,7 @@ class DependencyLOCAL(DependencyBase):
|
||||
IsNotFileOrDirError = DependencyIsNotFileOrDirError
|
||||
|
||||
def __init__(self, stage, path, info=None, remote=None):
|
||||
super(DependencyLOCAL, self).__init__(stage, path)
|
||||
self.info = info
|
||||
super(DependencyLOCAL, self).__init__(stage, path, info)
|
||||
if remote is not None:
|
||||
self.remote = remote
|
||||
else:
|
||||
|
||||
@@ -13,8 +13,7 @@ class DependencyS3(DependencyBase):
|
||||
REGEX = RemoteS3.REGEX
|
||||
|
||||
def __init__(self, stage, path, info=None, remote=None):
|
||||
super(DependencyS3, self).__init__(stage, path)
|
||||
self.info = info
|
||||
super(DependencyS3, self).__init__(stage, path, info=info)
|
||||
self.remote = remote or RemoteS3(stage.project, {})
|
||||
|
||||
bucket = remote.bucket if remote else urlparse(path).netloc
|
||||
@@ -33,8 +32,3 @@ class DependencyS3(DependencyBase):
|
||||
|
||||
def save(self):
|
||||
self.info = self.remote.save_info(self.path_info)
|
||||
|
||||
def dumpd(self):
|
||||
ret = self.info
|
||||
ret[self.PARAM_PATH] = self.path
|
||||
return ret
|
||||
|
||||
@@ -13,8 +13,7 @@ class DependencySSH(DependencyBase):
|
||||
REGEX = RemoteSSH.REGEX
|
||||
|
||||
def __init__(self, stage, path, info=None, remote=None):
|
||||
super(DependencySSH, self).__init__(stage, path)
|
||||
self.info = info
|
||||
super(DependencySSH, self).__init__(stage, path, info=info)
|
||||
self.remote = remote if remote else RemoteSSH(stage.project, {})
|
||||
|
||||
host = remote.host if remote else self.group('host')
|
||||
@@ -40,8 +39,3 @@ class DependencySSH(DependencyBase):
|
||||
|
||||
def save(self):
|
||||
self.info = self.remote.save_info(self.path_info)
|
||||
|
||||
def dumpd(self):
|
||||
ret = self.info
|
||||
ret[self.PARAM_PATH] = self.path
|
||||
return ret
|
||||
|
||||
Reference in New Issue
Block a user