Commit | Line | Data |
---|---|---|
dbee4a4b SBS |
1 | #!/usr/bin/env python3 |
2 | # Usage: python3 ./bktemp-parseArgs -vv 3 | |
252ebb00 SBS |
3 | # Version: 0.0.1 |
4 | # Note: is example tempalte for setting up use of logging module | |
dbee4a4b SBS |
5 | |
6 | import argparse, logging; | |
7 | ||
8 | # Setup argument parser (see https://docs.python.org/3.7/library/argparse.html ) | |
9 | parser = argparse.ArgumentParser( | |
10 | description='Perform some work.', | |
11 | epilog="Author: Steven Baltakatei Sandoval. License: GPLv3+"); | |
12 | parser = argparse.ArgumentParser( | |
13 | description='(example description) Delay activity for a random number of seconds. Delays sampled from an inverse gaussian distribution.', | |
14 | epilog="(example epilog) Author: Steven Baltakatei Sandoval. License: GPLv3+"); | |
15 | parser.add_argument('-v','--verbose', | |
16 | action='count', | |
17 | dest='verbosity', | |
18 | default=0, | |
19 | help='(example help) Verbose output. (repeat for increased verbosity)'); | |
20 | parser.add_argument('mean', | |
21 | action='store', | |
22 | metavar='SECONDS', | |
23 | nargs=1, | |
24 | default=1, | |
25 | type=float, | |
26 | help='(example help) Mean seconds of delay. Is the mean of the inverse gaussian distribution.'); | |
27 | args = parser.parse_args(); | |
28 | ||
29 | # Define functions | |
30 | def setup_logging(verbosity): | |
31 | # Depends: module: argparse | |
32 | # Ref/Attrib: Haas, Florian; Configure logging with argparse; https://xahteiwi.eu/resources/hints-and-kinks/python-cli-logging-options/ | |
33 | base_loglevel = 30; | |
34 | verbosity = min(verbosity, 2); | |
35 | loglevel = base_loglevel - (verbosity * 10); | |
36 | logging.basicConfig(level=loglevel, | |
37 | format='%(message)s'); | |
38 | ||
39 | ## Start up logger | |
40 | setup_logging(args.verbosity); | |
41 | logging.debug('DEBUG:Debug logging output enabled.'); | |
42 | logging.debug('DEBUG:args.verbosity:' + str(args.verbosity)); | |
43 | logging.debug('DEBUG:args:' + str(args)); |