forked from ungleich-public/cdist
Merge pull request #502 from darko-poljak/deprecate-d
Deprecate -d option and make -v option log level counter
This commit is contained in:
commit
1e3cae7d85
2 changed files with 27 additions and 10 deletions
|
@ -46,11 +46,13 @@ All commands accept the following options:
|
||||||
|
|
||||||
.. option:: -d, --debug
|
.. option:: -d, --debug
|
||||||
|
|
||||||
Set log level to debug
|
Set log level to debug (deprecated, use -vvv instead)
|
||||||
|
|
||||||
.. option:: -v, --verbose
|
.. option:: -v, --verbose
|
||||||
|
|
||||||
Set log level to info, be more verbose
|
Increase log level, be more verbose. Use it more than once to increase
|
||||||
|
log level. The order of levels from the lowest to the highest are:
|
||||||
|
ERROR, WARNING, INFO, DEBUG.
|
||||||
|
|
||||||
.. option:: -V, --version
|
.. option:: -V, --version
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
|
import collections
|
||||||
|
import logging
|
||||||
|
|
||||||
# list of beta sub-commands
|
# list of beta sub-commands
|
||||||
BETA_COMMANDS = ['install', ]
|
BETA_COMMANDS = ['install', ]
|
||||||
|
@ -61,6 +63,15 @@ def check_beta(args_dict):
|
||||||
raise cdist.CdistBetaRequired(cmd, arg)
|
raise cdist.CdistBetaRequired(cmd, arg)
|
||||||
|
|
||||||
|
|
||||||
|
_verbosity_level = {
|
||||||
|
0: logging.ERROR,
|
||||||
|
1: logging.WARNING,
|
||||||
|
2: logging.INFO,
|
||||||
|
}
|
||||||
|
_verbosity_level = collections.defaultdict(
|
||||||
|
lambda: logging.DEBUG, _verbosity_level)
|
||||||
|
|
||||||
|
|
||||||
def commandline():
|
def commandline():
|
||||||
"""Parse command line"""
|
"""Parse command line"""
|
||||||
import argparse
|
import argparse
|
||||||
|
@ -78,11 +89,15 @@ def commandline():
|
||||||
# Options _all_ parsers have in common
|
# Options _all_ parsers have in common
|
||||||
parser['loglevel'] = argparse.ArgumentParser(add_help=False)
|
parser['loglevel'] = argparse.ArgumentParser(add_help=False)
|
||||||
parser['loglevel'].add_argument(
|
parser['loglevel'].add_argument(
|
||||||
'-d', '--debug', help='Set log level to debug',
|
'-d', '--debug',
|
||||||
|
help=('Set log level to debug (deprecated, use -vvv instead)'),
|
||||||
action='store_true', default=False)
|
action='store_true', default=False)
|
||||||
parser['loglevel'].add_argument(
|
parser['loglevel'].add_argument(
|
||||||
'-v', '--verbose', help='Set log level to info, be more verbose',
|
'-v', '--verbose',
|
||||||
action='store_true', default=False)
|
help=('Increase log level, be more verbose. Use it more than once '
|
||||||
|
'to increase log level. The order of levels from the lowest '
|
||||||
|
'to the highest are: ERROR, WARNING, INFO, DEBUG.'),
|
||||||
|
action='count', default=0)
|
||||||
|
|
||||||
# Main subcommand parser
|
# Main subcommand parser
|
||||||
parser['main'] = argparse.ArgumentParser(
|
parser['main'] = argparse.ArgumentParser(
|
||||||
|
@ -179,11 +194,12 @@ def commandline():
|
||||||
|
|
||||||
args = parser['main'].parse_args(sys.argv[1:])
|
args = parser['main'].parse_args(sys.argv[1:])
|
||||||
|
|
||||||
# Loglevels are handled globally in here and debug wins over verbose
|
# Loglevels are handled globally in here
|
||||||
if args.verbose:
|
|
||||||
logging.root.setLevel(logging.INFO)
|
|
||||||
if args.debug:
|
if args.debug:
|
||||||
logging.root.setLevel(logging.DEBUG)
|
log.warning("-d/--debug is deprecated, use -vvv instead")
|
||||||
|
args.verbose = 3
|
||||||
|
|
||||||
|
logging.root.setLevel(_verbosity_level[args.verbose])
|
||||||
|
|
||||||
log.debug(args)
|
log.debug(args)
|
||||||
log.info("version %s" % cdist.VERSION)
|
log.info("version %s" % cdist.VERSION)
|
||||||
|
@ -219,7 +235,6 @@ if __name__ == "__main__":
|
||||||
exit_code = 0
|
exit_code = 0
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import logging
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import cdist
|
import cdist
|
||||||
|
|
Loading…
Reference in a new issue