@@ -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