utils: Change parse_comma_separated_list() contract

This is the initial incision point to only accept `str` (or `None`) for
parsing out comma/whitespace/regexp separated values.
This commit is contained in:
Eric N. Vander Weele 2019-07-28 10:39:27 -04:00
parent 9fbaf2d2ea
commit 9283f2f03f
3 changed files with 6 additions and 18 deletions

View file

@ -24,11 +24,11 @@ string_types = (str, type(u""))
def parse_comma_separated_list(value, regexp=COMMA_SEPARATED_LIST_RE):
# type: (Union[Sequence[str], str], Pattern[str]) -> List[str]
# type: (Optional[str], Pattern[str]) -> List[str]
"""Parse a comma-separated list.
:param value:
String or list of strings to be parsed and normalized.
String to be parsed and normalized.
:param regexp:
Compiled regular expression used to split the value when it is a
string.
@ -46,10 +46,8 @@ def parse_comma_separated_list(value, regexp=COMMA_SEPARATED_LIST_RE):
if not value:
return []
if isinstance(value, string_types):
value = regexp.split(value)
item_gen = (item.strip() for item in value)
separated = regexp.split(value)
item_gen = (item.strip() for item in separated)
return [item for item in item_gen if item]