See #2881. Allow indices in the selector instead of relying on external evaluations.

This commit is contained in:
Dion Moult
2023-04-04 09:58:23 +10:00
parent e76487ca90
commit dff33632ae
2 changed files with 13 additions and 8 deletions
@@ -298,14 +298,17 @@ class Selector:
else:
value = value.get(key, None)
elif isinstance(value, (list, tuple)): # If we use regex
results = []
for v in value:
subvalue = cls.get_element_value(v, [key], is_regex=is_regex)
if isinstance(subvalue, list):
results.extend(subvalue)
else:
results.append(subvalue)
value = results
if key.isnumeric():
value = value[int(key)]
else:
results = []
for v in value:
subvalue = cls.get_element_value(v, [key], is_regex=is_regex)
if isinstance(subvalue, list):
results.extend(subvalue)
else:
results.append(subvalue)
value = results
return value
@classmethod