mirror of
https://github.com/GAM-team/GAM.git
synced 2025-07-09 14:13:35 +00:00
Convert list to dictionary in _getBuildingNameById (#651)
Speeds up subsequent access by not having to step through list each time
This commit is contained in:
16
src/gam.py
16
src/gam.py
@ -8011,13 +8011,15 @@ def _getBuildingByNameOrId(cd, which_building):
|
||||
sys.exit(3)
|
||||
|
||||
def _getBuildingNameById(cd, buildingId):
|
||||
if not GM_Globals[GM_MAP_BUILDING_ID_TO_NAME]:
|
||||
fields = u'nextPageToken,buildings(buildingId,buildingName)'
|
||||
GM_Globals[GM_MAP_BUILDING_ID_TO_NAME] = callGAPIpages(cd.resources().buildings(), u'list', u'buildings',
|
||||
customer=GC_Values[GC_CUSTOMER_ID], fields=fields)
|
||||
for building in GM_Globals[GM_MAP_BUILDING_ID_TO_NAME]:
|
||||
if buildingId == building[u'buildingId']:
|
||||
return building[u'buildingName']
|
||||
if GM_Globals[GM_MAP_BUILDING_ID_TO_NAME] is None:
|
||||
buildings = callGAPIpages(cd.resources().buildings(), u'list', u'buildings',
|
||||
customer=GC_Values[GC_CUSTOMER_ID],
|
||||
fields=u'nextPageToken,buildings(buildingId,buildingName)')
|
||||
GM_Globals[GM_MAP_BUILDING_ID_TO_NAME] = {}
|
||||
for building in buildings:
|
||||
GM_Globals[GM_MAP_BUILDING_ID_TO_NAME][building[u'buildingId']] = building[u'buildingName']
|
||||
if buildingId in GM_Globals[GM_MAP_BUILDING_ID_TO_NAME]:
|
||||
return GM_Globals[GM_MAP_BUILDING_ID_TO_NAME][buildingId]
|
||||
print u'ERROR: No such building %s' % buildingId
|
||||
sys.exit(3)
|
||||
|
||||
|
Reference in New Issue
Block a user