Don't remove elements from list we're iterating over

closes #9127
pull/9129/head
Matthias 3 years ago
parent 5efa40215b
commit 5eb446f1ce

@ -29,9 +29,8 @@ def expand_pairlist(wildcardpl: List[str], available_pairs: List[str],
except re.error as err:
raise ValueError(f"Wildcard error in {pair_wc}, {err}")
for element in result:
if not re.fullmatch(r'^[A-Za-z0-9:/-]+$', element):
result.remove(element)
result = [element for element in result if re.fullmatch(r'^[A-Za-z0-9:/-]+$', element)]
else:
for pair_wc in wildcardpl:
try:

@ -1373,6 +1373,9 @@ def test_expand_pairlist(wildcardlist, pairs, expected):
(['BTC/USDT:USDT'],
['BTC/USDT:USDT', 'BTC/USDT'],
['BTC/USDT:USDT']),
(['BB_BTC/USDT', 'CC_BTC/USDT', 'AA_ETH/USDT', 'XRP/USDT', 'ETH/USDT', 'XX_BTC/USDT'],
['BTC/USDT', 'ETH/USDT'],
['XRP/USDT', 'ETH/USDT']),
])
def test_expand_pairlist_keep_invalid(wildcardlist, pairs, expected):
if expected is None:

Loading…
Cancel
Save