dvc: add -v|--verbose and -q|-quiet

These are cmdline shortcuts to change dvc's verbosity
without fiddling around with loglevel in dvc.conf.
Both are added and handled as a common options for
all dvc commands in base cmd class.
This commit is contained in:
Ruslan Kuprieiev
2017-05-22 04:14:37 +03:00
parent 96c25799f5
commit 57a30764b7
2 changed files with 21 additions and 0 deletions
+13
View File
@@ -41,10 +41,13 @@ class CmdBase(object):
self._settings = settings
parser = argparse.ArgumentParser()
self.define_common_args(parser)
self.define_args(parser)
self._parsed_args, self._command_args = parser.parse_known_args(args=self.args)
self.process_common_args()
@property
def settings(self):
return self._settings
@@ -88,6 +91,16 @@ class CmdBase(object):
help='Lock data item - disable reproduction. ' +
'It can be enabled by `dvc lock` command or by forcing reproduction.')
def define_common_args(self, parser):
parser.add_argument('--quiet', '-q', action='store_true', default=False, help='Be quiet.')
parser.add_argument('--verbose', '-v', action='store_true', default=False, help='Be verbose.')
def process_common_args(self):
if self._parsed_args.quiet and not self._parsed_args.verbose:
Logger.be_quiet()
elif not self._parsed_args.quiet and self._parsed_args.verbose:
Logger.be_verbose()
@property
def no_git_actions(self):
return self.parsed_args.no_git_actions
+8
View File
@@ -18,6 +18,14 @@ class Logger(object):
def set_level(level):
Logger._logger.setLevel(Logger.LEVEL_MAP.get(level.lower(), 'debug'))
@staticmethod
def be_quiet():
Logger._logger.setLevel(logging.CRITICAL)
@staticmethod
def be_verbose():
Logger._logger.setLevel(logging.DEBUG)
@staticmethod
def error(msg):
return Logger._logger.error(msg)