class CmdConfig(CmdBaseNoRepo): def __init__(self, args): super().__init__(args) self.config = Config(validate=False) def run(self): section, opt = self.args.name.lower().strip().split(".", 1) if self.args.unset: self.config.unset(section, opt, level=self.args.level) elif self.args.value is None: logger.info(self.config.get(section, opt, level=self.args.level)) else: self.config.set(section, opt, self.args.value, level=self.args.level) is_write = self.args.unset or self.args.value is not None if is_write and self.args.name == "cache.type": logger.warning( "You have changed the 'cache.type' option. This doesn't update" " any existing workspace file links, but it can be done with:" "\n dvc checkout --relink") return 0
class CmdConfig(CmdBaseNoRepo): def __init__(self, args): super(CmdConfig, self).__init__(args) self.config = Config(validate=False) def run(self): section, opt = self.args.name.lower().strip().split(".", 1) if self.args.unset: self.config.unset(section, opt, level=self.args.level) elif self.args.value is None: logger.info(self.config.get(section, opt, level=self.args.level)) else: self.config.set(section, opt, self.args.value, level=self.args.level) return 0
class CmdConfig(CmdBase): def __init__(self, args): from dvc.project import Project, NotDvcProjectError self.args = args try: dvc_dir = os.path.join(Project.find_root(), Project.DVC_DIR) saved_exc = None except NotDvcProjectError as exc: dvc_dir = None saved_exc = exc self.config = Config(dvc_dir, validate=False) if self.args.system: self.configobj = self.config._system_config elif self.args.glob: self.configobj = self.config._global_config elif self.args.local: if dvc_dir is None: raise saved_exc self.configobj = self.config._local_config else: if dvc_dir is None: raise saved_exc self.configobj = self.config._project_config def run_cmd(self): return self.run() def _unset(self, section, opt=None, configobj=None): if configobj is None: configobj = self.configobj try: self.config.unset(configobj, section, opt) self.config.save(configobj) except DvcException: logger.error("failed to unset '{}'".format(self.args.name)) return 1 return 0 def _show(self, section, opt): try: self.config.show(self.configobj, section, opt) except DvcException: logger.error("failed to show '{}'".format(self.args.name)) return 1 return 0 def _set(self, section, opt, value): try: self.config.set(self.configobj, section, opt, value) self.config.save(self.configobj) except DvcException: logger.error("failed to set '{}.{}' to '{}'".format( section, opt, value)) return 1 return 0 def run(self): section, opt = self.args.name.lower().strip().split(".", 1) if self.args.unset: return self._unset(section, opt) elif self.args.value is None: return self._show(section, opt) else: return self._set(section, opt, self.args.value)