Add subparses for modes

this allows for varying additional parameters based on mode.
This commit is contained in:
karl 2020-12-15 21:20:26 +01:00
parent f4a2735da0
commit 6915ea0368

18
tx
View File

@ -4,20 +4,24 @@ from datetime import datetime, timedelta
import argparse
# Parse command line arguments
parser = argparse.ArgumentParser(description="Description")
parser = argparse.ArgumentParser(prog='time.txt', description="Description")
subparsers = parser.add_subparsers(help='sub-command help', dest='mode')
# add arguments to the parser
parser.add_argument("-f", "--file")
parser.add_argument("mode",
help="display the square of a given number",
nargs='?', default="total",
choices=["total", "add"])
# create the parser for the "a" command
parser_a = subparsers.add_parser('total', help='a help')
# create the parser for the "b" command
parser_b = subparsers.add_parser('add', help='b help')
parser_b.add_argument("time")
parser_b.add_argument("description")
args = parser.parse_args()
filename = args.file if args.file else 'time.txt'
if args.mode == "total":
if not args.mode or args.mode == "total":
with open(filename, 'r') as time_file:
total_time = timedelta()