From c5ac2cfdec6f5bb43d9de454b4c7056af41b367c Mon Sep 17 00:00:00 2001 From: Jimmy Brisson Date: Tue, 21 Jun 2016 14:00:07 -0500 Subject: [PATCH] Create type combinator many --- tools/utils.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/utils.py b/tools/utils.py index 2f763d3f07..c2c2f7141f 100644 --- a/tools/utils.py +++ b/tools/utils.py @@ -199,7 +199,7 @@ def json_file_to_dict(fname): return dict_to_ascii(json.load(f, object_pairs_hook=OrderedDict)) # Wowza, double closure -def argparse_list_type(casedness, prefer_hyphen=False) : +def argparse_type(casedness, prefer_hyphen=False) : def middle(list, type_name): def parse_type(string): if prefer_hyphen: newstring = casedness(string).replace("_","-") @@ -213,10 +213,15 @@ def argparse_list_type(casedness, prefer_hyphen=False) : return parse_type return middle -argparse_uppercase_type = argparse_list_type(str.upper, False) -argparse_lowercase_type = argparse_list_type(str.lower, False) -argparse_uppercase_hyphen_type = argparse_list_type(str.upper, True) -argparse_lowercase_hyphen_type = argparse_list_type(str.lower, True) +argparse_uppercase_type = argparse_type(str.upper, False) +argparse_lowercase_type = argparse_type(str.lower, False) +argparse_uppercase_hyphen_type = argparse_type(str.upper, True) +argparse_lowercase_hyphen_type = argparse_type(str.lower, True) + +def argparse_many(fn): + def wrap(string): + return [fn(s) for s in string.split(",")] + return wrap def argparse_filestring_type(string) : if exists(string) : return string