mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-10 06:44:18 +00:00
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:
parent
9fbaf2d2ea
commit
9283f2f03f
3 changed files with 6 additions and 18 deletions
|
|
@ -25,13 +25,8 @@
|
||||||
|
|
||||||
"E121,W123,F904"
|
"E121,W123,F904"
|
||||||
"E121,\nW123,\nF804"
|
"E121,\nW123,\nF804"
|
||||||
"E121,\n\tW123,\n\tF804"
|
" E121,\n\tW123,\n\tF804 "
|
||||||
|
" E121\n\tW123 \n\tF804"
|
||||||
Or it will take a list of strings (potentially with whitespace) such as
|
|
||||||
|
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
[" E121\n", "\t\nW123 ", "\n\tF904\n "]
|
|
||||||
|
|
||||||
And converts it to a list that looks as follows
|
And converts it to a list that looks as follows
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,11 +24,11 @@ string_types = (str, type(u""))
|
||||||
|
|
||||||
|
|
||||||
def parse_comma_separated_list(value, regexp=COMMA_SEPARATED_LIST_RE):
|
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.
|
"""Parse a comma-separated list.
|
||||||
|
|
||||||
:param value:
|
:param value:
|
||||||
String or list of strings to be parsed and normalized.
|
String to be parsed and normalized.
|
||||||
:param regexp:
|
:param regexp:
|
||||||
Compiled regular expression used to split the value when it is a
|
Compiled regular expression used to split the value when it is a
|
||||||
string.
|
string.
|
||||||
|
|
@ -46,10 +46,8 @@ def parse_comma_separated_list(value, regexp=COMMA_SEPARATED_LIST_RE):
|
||||||
if not value:
|
if not value:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
if isinstance(value, string_types):
|
separated = regexp.split(value)
|
||||||
value = regexp.split(value)
|
item_gen = (item.strip() for item in separated)
|
||||||
|
|
||||||
item_gen = (item.strip() for item in value)
|
|
||||||
return [item for item in item_gen if item]
|
return [item for item in item_gen if item]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,11 +22,6 @@ RELATIVE_PATHS = ["flake8", "pep8", "pyflakes", "mccabe"]
|
||||||
("E123,W234,,E206,,", ["E123", "W234", "E206"]),
|
("E123,W234,,E206,,", ["E123", "W234", "E206"]),
|
||||||
("E123, W234,, E206,,", ["E123", "W234", "E206"]),
|
("E123, W234,, E206,,", ["E123", "W234", "E206"]),
|
||||||
("E123,,W234,,E206,,", ["E123", "W234", "E206"]),
|
("E123,,W234,,E206,,", ["E123", "W234", "E206"]),
|
||||||
(["E123", "W234", "E206"], ["E123", "W234", "E206"]),
|
|
||||||
(["E123", "\n\tW234", "\n E206"], ["E123", "W234", "E206"]),
|
|
||||||
(["E123", "\n\tW234", "\n E206", "\n"], ["E123", "W234", "E206"]),
|
|
||||||
(["E123", "\n\tW234", "", "\n E206", "\n"], ["E123", "W234", "E206"]),
|
|
||||||
(["E123", "\n\tW234", "", "\n E206", ""], ["E123", "W234", "E206"]),
|
|
||||||
])
|
])
|
||||||
def test_parse_comma_separated_list(value, expected):
|
def test_parse_comma_separated_list(value, expected):
|
||||||
"""Verify that similar inputs produce identical outputs."""
|
"""Verify that similar inputs produce identical outputs."""
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue