@@ -470,32 +470,34 @@ def _set_available_profiles(self, from_cache_command=False, profile_type: Option
470470 access_data ['accesses' ]
471471 ) and len ({a ['papId' ] for a in access_data ['accesses' ]}) < access_limit :
472472 increase += max (25 , round (access_data ['count' ] * 0.25 ))
473+ apps = {a ['appContainerId' ]: a for a in access_data .get ('apps' , [])}
474+ envs = {e ['environmentId' ]: e for e in access_data .get ('environments' , [])}
475+ profiles = {p ['papId' ]: p for p in access_data .get ('profiles' , [])}
476+ accesses = [
477+ tuple ([a ['appContainerId' ], a ['environmentId' ], a ['papId' ]])
478+ for a in access_data .get ('accesses' , [])
479+ ]
473480 access_output = []
474- for access in access_data ['accesses' ]:
475- appContainerId = access ['appContainerId' ]
476- environmentId = access ['environmentId' ]
477- papId = access ['papId' ]
478- app = next ((a for a in access_data .get ('apps' , []) if a ['appContainerId' ] == appContainerId ), {})
479- environment = next (
480- (e for e in access_data .get ('environments' , []) if e ['environmentId' ] == environmentId ), {}
481- )
482- profile = next ((p for p in access_data .get ('profiles' , []) if p ['papId' ] == papId ), {})
481+ for app_id , env_id , profile_id in accesses :
482+ app = apps [app_id ]
483+ env = envs [env_id ]
484+ profile = profiles [profile_id ]
483485 row = {
484- 'app_name' : app ['catalogAppName ' ],
485- 'app_id' : appContainerId ,
486- 'app_type' : app ['catalogAppDisplayName ' ],
486+ 'app_name' : app ['catalogAppDisplayName ' ],
487+ 'app_id' : app_id ,
488+ 'app_type' : app ['catalogAppName ' ],
487489 'app_description' : app ['appDescription' ],
488- 'env_name' : environment ['environmentName' ],
489- 'env_id' : environmentId ,
490- 'env_short_name' : environment ['alternateEnvironmentName' ],
491- 'env_description' : environment ['environmentDescription' ],
490+ 'env_name' : env ['environmentName' ],
491+ 'env_id' : env_id ,
492+ 'env_short_name' : env ['alternateEnvironmentName' ],
493+ 'env_description' : env ['environmentDescription' ],
492494 'profile_name' : profile ['papName' ],
493- 'profile_id' : papId ,
495+ 'profile_id' : profile_id ,
494496 'profile_allows_console' : app .get ('consoleAccess' , False ),
495497 'profile_allows_programmatic' : app .get ('programmaticAccess' , False ),
496498 'profile_description' : profile ['papDescription' ],
497499 '2_part_profile_format_allowed' : app ['supportsMultipleProfilesCheckoutConsole' ],
498- 'env_properties' : environment .get ('profileEnvironmentProperties' , {}),
500+ 'env_properties' : env .get ('profileEnvironmentProperties' , {}),
499501 }
500502 if row not in access_output :
501503 access_output .append (row )
0 commit comments