From 666a6f6f8ef9373f792b7b16ca36b4265fa47651 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Mon, 12 Feb 2018 13:54:02 +0200 Subject: [PATCH] config: don't create project instance Fixes #446 Signed-off-by: Ruslan Kuprieiev --- dvc/command/common/base.py | 3 +++ dvc/command/config.py | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/dvc/command/common/base.py b/dvc/command/common/base.py index 54ebe3c92..d04d3763a 100644 --- a/dvc/command/common/base.py +++ b/dvc/command/common/base.py @@ -10,7 +10,10 @@ class CmdBase(object): def __init__(self, args): self.project = Project(self._find_root()) self.args = args + self._set_loglevel(args) + @staticmethod + def _set_loglevel(args): if args.quiet and not args.verbose: Logger.be_quiet() elif not args.quiet and args.verbose: diff --git a/dvc/command/config.py b/dvc/command/config.py index 4b731eab6..86ee10fb5 100644 --- a/dvc/command/config.py +++ b/dvc/command/config.py @@ -4,9 +4,19 @@ import configobj from dvc.command.common.base import CmdBase from dvc.logger import Logger from dvc.config import Config +from dvc.project import Project class CmdConfig(CmdBase): + def __init__(self, args): + self.args = args + root_dir = self._find_root() + self.config_file = os.path.join(root_dir, Project.DVC_DIR, Config.CONFIG) + self._set_loglevel(args) + + def run_cmd(self): + return self.run() + def _get_key(self, d, name, add=False): for k in d.keys(): if k.lower() == name.lower(): @@ -67,7 +77,7 @@ class CmdConfig(CmdBase): def run(self): # Using configobj because it doesn't # drop comments like configparser does. - self.configobj = configobj.ConfigObj(self.project.config.config_file, write_empty_values=True) + self.configobj = configobj.ConfigObj(self.config_file, write_empty_values=True) if self.check_opt() != 0: return 1