@@ -1432,22 +1432,29 @@ def registration_info(self, entity_id):
1432
1432
:type entity_id: string
1433
1433
:rtype: dict
1434
1434
"""
1435
- res = {
1436
- 'registration_authority' : None ,
1437
- 'registration_instant' : None ,
1438
- 'registration_policy' : {}
1439
- }
1440
1435
try :
1441
- ext = self .__getitem__ (entity_id )[ "extensions" ]
1436
+ ext = self .__getitem__ (entity_id )
1442
1437
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
+ }
1451
1458
return res
1452
1459
1453
1460
def _lookup_elements_by_cls (self , root , cls ):
0 commit comments