runtime
223 / 500
question 223 CLI & Automation · easy

Arguments for a backup command

A backup script is run as backup SOURCE [--dest DIR] [--keep N] [--level fast|best] [--verify]. Describe those arguments with argparse and return the parsed values.

Functionbackup_args(argv)
argva list of words, e.g. ["/srv/shop", "--keep", "14"]
Returns{'source': …, 'dest': …, 'keep': …, 'level': …, 'verify': …}
Argumentssource positional; --dest default "backups"; --keep whole number, default 7; --level one of fast, best, default fast; --verify a flag
Bad inputa missing source, a --keep that isn't a whole number, or another level stops with SystemExit
Examples
callbackup_args(['/srv/shop', '--keep', '14'])returns{'source': '/srv/shop', 'dest': 'backups', 'keep': 14, 'level': 'fast', 'verify': False}
callbackup_args(['data'])returns{'source': 'data', 'dest': 'backups', 'keep': 7, 'level': 'fast', 'verify': False}
callbackup_args(['data', '--level', 'best', '--verify'])returns{'source': 'data', 'dest': 'backups', 'keep': 7, 'level': 'best', 'verify': True}
callbackup_args(['--keep', '3'])raisesSystemExit

Loading your progress…

Arguments for a backup command — Python practice · Runtime