You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
644 B
19 lines
644 B
4 years ago
|
""" Misc utils
|
||
|
|
||
|
Hacked together by / Copyright 2020 Ross Wightman
|
||
|
"""
|
||
|
import re
|
||
|
|
||
|
|
||
|
def natural_key(string_):
|
||
|
"""See http://www.codinghorror.com/blog/archives/001018.html"""
|
||
|
return [int(s) if s.isdigit() else s for s in re.split(r'(\d+)', string_.lower())]
|
||
|
|
||
|
|
||
|
def add_bool_arg(parser, name, default=False, help=''):
|
||
|
dest_name = name.replace('-', '_')
|
||
|
group = parser.add_mutually_exclusive_group(required=False)
|
||
|
group.add_argument('--' + name, dest=dest_name, action='store_true', help=help)
|
||
|
group.add_argument('--no-' + name, dest=dest_name, action='store_false', help=help)
|
||
|
parser.set_defaults(**{dest_name: default})
|