summaryrefslogtreecommitdiff
path: root/src/saml2/mdstore.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/saml2/mdstore.py')
-rw-r--r--src/saml2/mdstore.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/saml2/mdstore.py b/src/saml2/mdstore.py
index 40f7232e..105d8509 100644
--- a/src/saml2/mdstore.py
+++ b/src/saml2/mdstore.py
@@ -1379,13 +1379,15 @@ class MetadataStore(MetaData):
ext = self.__getitem__(entity_id)["extensions"]
except KeyError:
return res
+
for elem in ext["extension_elements"]:
- if elem["__class__"] == classnames["mdattr_entityattributes"]:
- for attr in elem["attribute"]:
- if attr["name"] not in res:
- res[attr["name"]] = []
- res[attr["name"]] += [v["text"] for v in attr[
- "attribute_value"]]
+ if elem["__class__"] != classnames["mdattr_entityattributes"]:
+ continue
+ for attr in elem["attribute"]:
+ res[attr["name"]] = [
+ *res.get(attr["name"], []),
+ *(v["text"] for v in attr.get("attribute_value", []))
+ ]
return res
def supported_algorithms(self, entity_id):