import argparse
import logging
import sys
from collections import namedtuple
from rawdisk.ui.cli.cli_mode import CliMode
from rawdisk.util.logging import setup_logging
[docs]def parse_args(args):
parser = argparse.ArgumentParser()
parser.add_argument(
'--verbose', help='increase output verbosity', action='store_true')
parser.add_argument(
'--log-config', dest='log_config',
help='path to YAML logging configuration file'
)
parser.add_argument(
'--log-level', dest='log_level',
choices=['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL']
)
parsed_args = parser.parse_args(args)
Options = namedtuple('Options', ['log_level', 'log_config'])
options = Options(
log_level='DEBUG' if parsed_args.verbose
else parsed_args.log_level,
log_config=parsed_args.log_config
)
return options
[docs]def main():
args = parse_args(sys.argv[1:])
configure_logging(args)
CliMode.start()
if __name__ == '__main__':
main()