projects
/
python_utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ran black code formatter on everything.
[python_utils.git]
/
argparse_utils.py
diff --git
a/argparse_utils.py
b/argparse_utils.py
index e8c2f5699bea4bceb67d22127a923099d0d143e5..8c254ae1f995f6aa684134c595e35968ea5b36cd 100644
(file)
--- a/
argparse_utils.py
+++ b/
argparse_utils.py
@@
-17,12
+17,7
@@
logger = logging.getLogger(__name__)
class ActionNoYes(argparse.Action):
def __init__(
class ActionNoYes(argparse.Action):
def __init__(
- self,
- option_strings,
- dest,
- default=None,
- required=False,
- help=None
+ self, option_strings, dest, default=None, required=False, help=None
):
if default is None:
msg = 'You must provide a default with Yes/No action'
):
if default is None:
msg = 'You must provide a default with Yes/No action'
@@
-47,14
+42,13
@@
class ActionNoYes(argparse.Action):
const=None,
default=default,
required=required,
const=None,
default=default,
required=required,
- help=help
+ help=help
,
)
@overrides
def __call__(self, parser, namespace, values, option_strings=None):
)
@overrides
def __call__(self, parser, namespace, values, option_strings=None):
- if (
- option_strings.startswith('--no-') or
- option_strings.startswith('--no_')
+ if option_strings.startswith('--no-') or option_strings.startswith(
+ '--no_'
):
setattr(namespace, self.dest, False)
else:
):
setattr(namespace, self.dest, False)
else:
@@
-89,6
+83,7
@@
def valid_bool(v: Any) -> bool:
if isinstance(v, bool):
return v
from string_utils import to_bool
if isinstance(v, bool):
return v
from string_utils import to_bool
+
try:
return to_bool(v)
except Exception:
try:
return to_bool(v)
except Exception:
@@
-110,11
+105,12
@@
def valid_ip(ip: str) -> str:
"""
from string_utils import extract_ip_v4
"""
from string_utils import extract_ip_v4
+
s = extract_ip_v4(ip.strip())
if s is not None:
return s
msg = f"{ip} is an invalid IP address"
s = extract_ip_v4(ip.strip())
if s is not None:
return s
msg = f"{ip} is an invalid IP address"
- logger.
warning
(msg)
+ logger.
error
(msg)
raise argparse.ArgumentTypeError(msg)
raise argparse.ArgumentTypeError(msg)
@@
-136,11
+132,12
@@
def valid_mac(mac: str) -> str:
"""
from string_utils import extract_mac_address
"""
from string_utils import extract_mac_address
+
s = extract_mac_address(mac)
if s is not None:
return s
msg = f"{mac} is an invalid MAC address"
s = extract_mac_address(mac)
if s is not None:
return s
msg = f"{mac} is an invalid MAC address"
- logger.
warning
(msg)
+ logger.
error
(msg)
raise argparse.ArgumentTypeError(msg)
raise argparse.ArgumentTypeError(msg)
@@
-166,7
+163,7
@@
def valid_percentage(num: str) -> float:
if 0.0 <= n <= 100.0:
return n
msg = f"{num} is an invalid percentage; expected 0 <= n <= 100.0"
if 0.0 <= n <= 100.0:
return n
msg = f"{num} is an invalid percentage; expected 0 <= n <= 100.0"
- logger.
warning
(msg)
+ logger.
error
(msg)
raise argparse.ArgumentTypeError(msg)
raise argparse.ArgumentTypeError(msg)
@@
-188,7
+185,7
@@
def valid_filename(filename: str) -> str:
if os.path.exists(s):
return s
msg = f"{filename} was not found and is therefore invalid."
if os.path.exists(s):
return s
msg = f"{filename} was not found and is therefore invalid."
- logger.
warning
(msg)
+ logger.
error
(msg)
raise argparse.ArgumentTypeError(msg)
raise argparse.ArgumentTypeError(msg)
@@
-206,11
+203,12
@@
def valid_date(txt: str) -> datetime.date:
-ANYTHING-
"""
from string_utils import to_date
-ANYTHING-
"""
from string_utils import to_date
+
date = to_date(txt)
if date is not None:
return date
msg = f'Cannot parse argument as a date: {txt}'
date = to_date(txt)
if date is not None:
return date
msg = f'Cannot parse argument as a date: {txt}'
- logger.
warning
(msg)
+ logger.
error
(msg)
raise argparse.ArgumentTypeError(msg)
raise argparse.ArgumentTypeError(msg)
@@
-228,11
+226,12
@@
def valid_datetime(txt: str) -> datetime.datetime:
-ANYTHING-
"""
from string_utils import to_datetime
-ANYTHING-
"""
from string_utils import to_datetime
+
dt = to_datetime(txt)
if dt is not None:
return dt
msg = f'Cannot parse argument as datetime: {txt}'
dt = to_datetime(txt)
if dt is not None:
return dt
msg = f'Cannot parse argument as datetime: {txt}'
- logger.
warning
(msg)
+ logger.
error
(msg)
raise argparse.ArgumentTypeError(msg)
raise argparse.ArgumentTypeError(msg)
@@
-250,6
+249,7
@@
def valid_duration(txt: str) -> datetime.timedelta:
"""
from datetime_utils import parse_duration
"""
from datetime_utils import parse_duration
+
try:
secs = parse_duration(txt)
except Exception as e:
try:
secs = parse_duration(txt)
except Exception as e:
@@
-260,5
+260,6
@@
def valid_duration(txt: str) -> datetime.timedelta:
if __name__ == '__main__':
import doctest
if __name__ == '__main__':
import doctest
+
doctest.ELLIPSIS_MARKER = '-ANYTHING-'
doctest.testmod()
doctest.ELLIPSIS_MARKER = '-ANYTHING-'
doctest.testmod()