Fix cloud sync issue

This commit is contained in:
Dmitry Petrov
2017-04-17 12:44:39 -07:00
parent 193dc4f1a0
commit b15b36d955
2 changed files with 9 additions and 3 deletions
+3 -3
View File
@@ -45,7 +45,7 @@ class CmdDataSync(CmdBase):
def run(self):
if System.islink(self.parsed_args.target):
data_item = self.settings.path_factory.existing_data_item(self.parsed_args.target)
data_item = self.settings.path_factory.data_item(self.parsed_args.target)
return self.sync_symlink(data_item)
if os.path.isdir(self.parsed_args.target):
@@ -83,9 +83,9 @@ class CmdDataSync(CmdBase):
""" sync from cloud, aws version """
bucket = self._get_bucket_aws()
key_name = self.cache_file_key(item.cache.dvc)
key_name = self.cache_file_key(item.resolved_cache.dvc)
key = bucket.get_key(key_name)
if not key:
raise DataSyncError('File "{}" does not exist in the cloud'.format(key_name))
+6
View File
@@ -86,6 +86,12 @@ class DataItem(object):
cache_file = os.path.join(cache_dir, file_name)
return Path(cache_file, self._git)
@cached_property
def resolved_cache(self):
resolved_cache = os.path.realpath(self._data.relative)
return Path(resolved_cache, self._git)
@cached_property
def data_dir_abs(self):
return os.path.join(self._git.git_dir_abs, self._config.data_dir)