Skip to content

Commit c5ac2cf

Browse files
committed
Create type combinator many
1 parent e4c6bcd commit c5ac2cf

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

tools/utils.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ def json_file_to_dict(fname):
199199
return dict_to_ascii(json.load(f, object_pairs_hook=OrderedDict))
200200

201201
# Wowza, double closure
202-
def argparse_list_type(casedness, prefer_hyphen=False) :
202+
def argparse_type(casedness, prefer_hyphen=False) :
203203
def middle(list, type_name):
204204
def parse_type(string):
205205
if prefer_hyphen: newstring = casedness(string).replace("_","-")
@@ -213,10 +213,15 @@ def parse_type(string):
213213
return parse_type
214214
return middle
215215

216-
argparse_uppercase_type = argparse_list_type(str.upper, False)
217-
argparse_lowercase_type = argparse_list_type(str.lower, False)
218-
argparse_uppercase_hyphen_type = argparse_list_type(str.upper, True)
219-
argparse_lowercase_hyphen_type = argparse_list_type(str.lower, True)
216+
argparse_uppercase_type = argparse_type(str.upper, False)
217+
argparse_lowercase_type = argparse_type(str.lower, False)
218+
argparse_uppercase_hyphen_type = argparse_type(str.upper, True)
219+
argparse_lowercase_hyphen_type = argparse_type(str.lower, True)
220+
221+
def argparse_many(fn):
222+
def wrap(string):
223+
return [fn(s) for s in string.split(",")]
224+
return wrap
220225

221226
def argparse_filestring_type(string) :
222227
if exists(string) : return string

0 commit comments

Comments
 (0)