Skip to content

Commit 17ba9b1

Browse files
committed
Restructure the registration_info method
Signed-off-by: Ivan Kanakarakis <[email protected]>
1 parent dde54a0 commit 17ba9b1

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

src/saml2/mdstore.py

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1432,22 +1432,29 @@ def registration_info(self, entity_id):
14321432
:type entity_id: string
14331433
:rtype: dict
14341434
"""
1435-
res = {
1436-
'registration_authority': None,
1437-
'registration_instant': None,
1438-
'registration_policy': {}
1439-
}
14401435
try:
1441-
ext = self.__getitem__(entity_id)["extensions"]
1436+
ext = self.__getitem__(entity_id)
14421437
except KeyError:
1443-
return res
1444-
for elem in ext["extension_elements"]:
1445-
if elem["__class__"] == classnames["mdrpi_registration_info"]:
1446-
res["registration_authority"] = elem["registration_authority"]
1447-
res["registration_instant"] = elem.get("registration_instant")
1448-
for policy in elem.get('registration_policy', []):
1449-
if policy["__class__"] == classnames["mdrpi_registration_policy"]:
1450-
res['registration_policy'][policy["lang"]] = policy["text"]
1438+
ext = {}
1439+
1440+
ext_elems = ext.get("extensions", {}).get("extension_elements", [])
1441+
reg_info = next(
1442+
(
1443+
elem
1444+
for elem in ext_elems
1445+
if elem["__class__"] == classnames["mdrpi_registration_info"]
1446+
),
1447+
{},
1448+
)
1449+
res = {
1450+
"registration_authority": reg_info.get("registration_authority"),
1451+
"registration_instant": reg_info.get("registration_instant"),
1452+
"registration_policy": {
1453+
policy["lang"]: policy["text"]
1454+
for policy in reg_info.get("registration_policy", [])
1455+
if policy["__class__"] == classnames["mdrpi_registration_policy"]
1456+
},
1457+
}
14511458
return res
14521459

14531460
def _lookup_elements_by_cls(self, root, cls):

0 commit comments

Comments
 (0)