case-insensitive zonenode find

This commit is contained in:
Darren Ranalli 2003-10-29 23:56:11 +00:00
parent f6b5d8f897
commit 4c970826fc

View File

@ -4,11 +4,13 @@ import string
def getZoneNum2Node(levelModel): def getZoneNum2Node(levelModel):
""" given model, returns dict of ZoneNumber -> ZoneNode """ """ given model, returns dict of ZoneNumber -> ZoneNode """
def findNumberedNodes(baseString, model): def findNumberedNodes(baseString, model, caseInsens=1):
# finds nodes whose name follows the pattern 'baseString#blah' # finds nodes whose name follows the pattern 'baseString#blah'
# returns dictionary that maps # to node # returns dictionary that maps # to node
potentialNodes = model.findAllMatches( srch = '**/%s*' % baseString
'**/%s*' % baseString).asList() if caseInsens:
srch += ';+i'
potentialNodes = model.findAllMatches(srch).asList()
num2node = {} num2node = {}
for potentialNode in potentialNodes: for potentialNode in potentialNodes:
name = potentialNode.getName() name = potentialNode.getName()
@ -28,9 +30,7 @@ def getZoneNum2Node(levelModel):
return num2node return num2node
zoneNum2node = findNumberedNodes('Zone', levelModel) zoneNum2node = findNumberedNodes('zone', levelModel)
# temp
zoneNum2node.update(findNumberedNodes('ZONE', levelModel))
# add the UberZone to the table # add the UberZone to the table
zoneNum2node[0] = levelModel zoneNum2node[0] = levelModel
return zoneNum2node return zoneNum2node