Fix #3038. Fix #3039. Selector should default to none instead for throwing errors if the query doesn't have a result.

This commit is contained in:
Dion Moult
2023-04-20 17:41:52 +10:00
parent 6a25d05e5d
commit 4722208fa4
2 changed files with 23 additions and 1 deletions
@@ -255,6 +255,8 @@ class Selector:
value = element
for key in keys:
key = key.strip()
if value is None:
return
if key == "type":
value = ifcopenshell.util.element.get_type(value)
elif key in ("material", "mat"):
@@ -302,7 +304,10 @@ class Selector:
value = value.get(key, None)
elif isinstance(value, (list, tuple)): # If we use regex
if key.isnumeric():
value = value[int(key)]
try:
value = value[int(key)]
except IndexError:
return
else:
results = []
for v in value: