mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user