diff options
| author | Scott Gasch <[email protected]> | 2021-07-08 19:44:27 -0700 |
|---|---|---|
| committer | Scott Gasch <[email protected]> | 2021-07-08 19:44:27 -0700 |
| commit | 3bc4daf1edc121cd633429187392227f2fa61885 (patch) | |
| tree | 0663cf35f562c7023c914454c85050d502ad9f3c /argparse_utils.py | |
| parent | 5fd30ef12c100cbb936aa0fdb515b67cff4064db (diff) | |
Lots of changes.
Diffstat (limited to 'argparse_utils.py')
| -rw-r--r-- | argparse_utils.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/argparse_utils.py b/argparse_utils.py index 75bec04..80046de 100644 --- a/argparse_utils.py +++ b/argparse_utils.py @@ -1,6 +1,7 @@ #!/usr/bin/python3 import argparse +import datetime import logging import os @@ -79,6 +80,7 @@ def valid_mac(mac: str) -> str: def valid_percentage(num: str) -> float: + num = num.strip('%') n = float(num) if 0.0 <= n <= 100.0: return n @@ -94,3 +96,21 @@ def valid_filename(filename: str) -> str: msg = f"{filename} was not found and is therefore invalid." logger.warning(msg) raise argparse.ArgumentTypeError(msg) + + +def valid_date(txt: str) -> datetime.date: + date = string_utils.to_date(txt) + if date is not None: + return date + msg = f'Cannot parse argument as a date: {txt}' + logger.warning(msg) + raise argparse.ArgumentTypeError(msg) + + +def valid_datetime(txt: str) -> datetime.datetime: + dt = string_utils.to_datetime(txt) + if dt is not None: + return dt + msg = f'Cannot parse argument as datetime: {txt}' + logger.warning(msg) + raise argparse.ArgumentTypeError(msg) |
