ifAbsentPut => setdefault

This commit is contained in:
Joe Shochet 2003-04-07 07:58:48 +00:00
parent 74a8e8ba4c
commit d8e9835160
6 changed files with 16 additions and 17 deletions

View File

@ -752,7 +752,7 @@ class FFIInterrogateDatabase:
# Generate overloading
overloadedGlobalFunctions = {}
for methodSpec in globalFunctions:
methodList = ifAbsentPut(overloadedGlobalFunctions, methodSpec.name, [])
methodList = overloadedGlobalFunctions.setdefault(methodSpec.name, [])
methodList.append(methodSpec)
overloadedGlobalFunctions = FFIOverload.cullOverloadedMethods(overloadedGlobalFunctions)

View File

@ -245,12 +245,12 @@ class FFIMethodArgumentTreeCollection:
def setup(self):
for method in self.methodSpecList:
numArgs = len(method.typeDescriptor.thislessArgTypes())
numArgsList = ifAbsentPut(self.methodDict, numArgs, [])
numArgsList = self.methodDict.setdefault(numArgs, [])
numArgsList.append(method)
for numArgs in self.methodDict.keys():
methodList = self.methodDict[numArgs]
tree = FFIMethodArgumentTree(self.classTypeDesc, methodList)
treeList = ifAbsentPut(self.treeDict, numArgs, [])
treeList = self.treeDict.setdefault(numArgs, [])
treeList.append(tree)
def generateCode(self, file, nesting):

View File

@ -329,7 +329,7 @@ class ClassTypeDescriptor(BaseTypeDescriptor):
through them and see which are overloaded
{ className : {methodName : [methodSpec, methodSpec, methodSpec]}}
"""
methodList = ifAbsentPut(self.overloadedClassMethods, methodSpec.name, [])
methodList = self.overloadedClassMethods.setdefault(methodSpec.name, [])
methodList.append(methodSpec)
@ -339,7 +339,7 @@ class ClassTypeDescriptor(BaseTypeDescriptor):
through them and see which are overloaded
{ className : {methodName : [methodSpec, methodSpec, methodSpec]}}
"""
methodList = ifAbsentPut(self.overloadedInstanceMethods, methodSpec.name, [])
methodList = self.overloadedInstanceMethods.setdefault(methodSpec.name, [])
methodList.append(methodSpec)

View File

@ -29,12 +29,12 @@ class DirectObject:
def accept(self, event, method, extraArgs=[]):
self.__initEvents()
ifAbsentPut(self.events, event, None)
self.events.setdefault(event, None)
messenger.accept(event, self, method, extraArgs, 1)
def acceptOnce(self, event, method, extraArgs=[]):
self.__initEvents()
ifAbsentPut(self.events, event, None)
self.events.setdefault(event, None)
messenger.accept(event, self, method, extraArgs, 0)
def _INTERNAL_acceptOnceExpired(self, event):

View File

@ -44,7 +44,7 @@ class Messenger:
+ '\n extraArgs: ' + `extraArgs`
+ '\n persistent: ' + `persistent`)
acceptorDict = ifAbsentPut(self.dict, event, {})
acceptorDict = self.dict.setdefault(event, {})
acceptorDict[object] = [method, extraArgs, persistent]
def ignore(self, event, object):

View File

@ -4,15 +4,14 @@ import re
import math
import operator
def ifAbsentPut(dict, key, newValue):
"""
If dict has key, return the value, otherwise insert the newValue and return it
"""
if dict.has_key(key):
return dict[key]
else:
dict[key] = newValue
return newValue
# NOTE: ifAbsentPut has been replaced with Python's dictionary's builtin setdefault
# before:
# ifAbsentPut(dict, key, defaultValue)
# after:
# dict.setdefault(key, defaultValue)
# Please use setdefault instead -- Joe
def unique(L1, L2):
"""Return a list containing all items in 'L1' that are not in 'L2'"""