def manage():
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers()
verbosity_group = parser.add_mutually_exclusive_group()
verbosity_group.add_argument('--verbose', '-v', action='count', default=0, help='Increase verbosity')
verbosity_group.add_argument('--quiet', '-q', action='store_true', help='Reduce verbosity')
# FIXME: Database path incorrect! Depends on installation path!
parser.add_argument('--database', type=str, default='sqlite:///tests.sqlite', help='Change the default database')
parser.set_defaults(fun=run)
parser_setup = subparsers.add_parser('reset-database')
parser_setup.set_defaults(fun=reset_database)
args = parser.parse_args()
lut_verbosity = {0: logging.WARNING, 1: logging.INFO, 2: logging.DEBUG}
level = logging.FATAL if getattr(args, 'quiet') else lut_verbosity.get(getattr(args, 'verbose', 0), logging.DEBUG)
# logging.basicConfig(level=level, format='%(asctime)s - %(levelname)s - %(message)s')
logging.basicConfig(level=level, format='%(name)s: %(levelname)s: %(message)s')
logging.info('Configuration:\n\t{}'.format('\n\t'.join(['{}: {}'.format(k, getattr(v, '__name__', v)) for k, v in sorted(args.__dict__.items())])))
args.fun(args)
评论列表
文章目录