From 10f19f5c2e958aaef06df43f9b1324ed1f897980 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Sat, 12 Aug 2017 08:00:50 +0300 Subject: [PATCH] cloud: parse and store cloud in settings Cloud is determined from config and stays the same from that moment, so it makes sense to parse it once and store in settings, so whoever needs it, could just use self.settings.cloud. This is going to be more useful in the few next commits, where push/pull/status are introduced. Signed-off-by: Ruslan Kuprieiev --- dvc/command/data_sync.py | 4 +--- dvc/command/traverse.py | 4 +--- dvc/settings.py | 6 ++++++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/dvc/command/data_sync.py b/dvc/command/data_sync.py index fbe9ff211..070365bdc 100644 --- a/dvc/command/data_sync.py +++ b/dvc/command/data_sync.py @@ -4,7 +4,6 @@ from multiprocessing.pool import ThreadPool from dvc.command.base import CmdBase, DvcLock from dvc.exceptions import DvcException from dvc.system import System -from dvc.data_cloud import DataCloud from dvc.utils import map_progress @@ -19,7 +18,6 @@ class CmdDataSync(CmdBase): def run(self): with DvcLock(self.is_locker, self.git): - cloud = DataCloud(self.settings) targets = [] if len(self.parsed_args.targets) == 0: @@ -35,5 +33,5 @@ class CmdDataSync(CmdBase): else: raise DataSyncError('File "{}" does not exit'.format(target)) - map_progress(cloud.sync, targets, self.parsed_args.jobs) + map_progress(self.settings.cloud.sync, targets, self.parsed_args.jobs) pass diff --git a/dvc/command/traverse.py b/dvc/command/traverse.py index b000611e3..6c3a94e23 100644 --- a/dvc/command/traverse.py +++ b/dvc/command/traverse.py @@ -3,7 +3,6 @@ import os from dvc.command.base import CmdBase, DvcLock from dvc.exceptions import DvcException from dvc.logger import Logger -from dvc.data_cloud import DataCloud from dvc.path.data_item import DataItemError class TraverseError(DvcException): @@ -15,7 +14,6 @@ class Traverse(CmdBase): def __init__(self, settings, cmd_name, do_not_start_from_root=True): super(Traverse, self).__init__(settings) self._cmd_name = cmd_name - self.cloud = DataCloud(self.settings) self._do_not_start_from_root = do_not_start_from_root def run(self): @@ -81,7 +79,7 @@ class Traverse(CmdBase): def _remove_cloud_cache(self, data_item): if not self.parsed_args.keep_in_cloud: - self.cloud.remove_from_cloud(data_item) + self.settings.cloud.remove_from_cloud(data_item) ## API: def is_recursive(self): diff --git a/dvc/settings.py b/dvc/settings.py index a20a4784a..9d93cd00e 100644 --- a/dvc/settings.py +++ b/dvc/settings.py @@ -5,6 +5,7 @@ from dvc.config import ConfigI, Config from dvc.exceptions import DvcException from dvc.path.factory import PathFactory from dvc.cli import parse_args +from dvc.data_cloud import DataCloud class SettingsError(DvcException): def __init__(self, msg): @@ -33,6 +34,7 @@ class Settings(object): self._config = config self._path_factory = PathFactory(git, config) self._parsed_args = args + self._cloud = DataCloud(self) @property def args(self): @@ -63,3 +65,7 @@ class Settings(object): @property def path_factory(self): return self._path_factory + + @property + def cloud(self): + return self._cloud