Weak*Dictionary.update(): Fix calls to [].append() to only have one
parameter. Weak*Dictionary.get(): Make the second parameter optional. WeakKeyDictionary.has_key(), .keys(): Make these actually work!
This commit is contained in:
parent
67addfe2a8
commit
1d9e4b7de3
@ -54,7 +54,7 @@ class WeakValueDictionary(UserDict.UserDict):
|
|||||||
new[key] = o
|
new[key] = o
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def get(self, key, default):
|
def get(self, key, default=None):
|
||||||
try:
|
try:
|
||||||
ref = self.data[key]
|
ref = self.data[key]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
@ -100,7 +100,7 @@ class WeakValueDictionary(UserDict.UserDict):
|
|||||||
for key, o in dict.items():
|
for key, o in dict.items():
|
||||||
def remove(o, data=d, key=key):
|
def remove(o, data=d, key=key):
|
||||||
del data[key]
|
del data[key]
|
||||||
L.append(key, ref(o, remove))
|
L.append((key, ref(o, remove)))
|
||||||
for key, r in L:
|
for key, r in L:
|
||||||
d[key] = r
|
d[key] = r
|
||||||
|
|
||||||
@ -139,9 +139,12 @@ class WeakKeyDictionary(UserDict.UserDict):
|
|||||||
new[o] = value
|
new[o] = value
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def get(self, key, default):
|
def get(self, key, default=None):
|
||||||
return self.data.get(ref(key),default)
|
return self.data.get(ref(key),default)
|
||||||
|
|
||||||
|
def has_key(self, key):
|
||||||
|
return self.data.has_key(ref(key))
|
||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
L = []
|
L = []
|
||||||
for key, value in self.data.items():
|
for key, value in self.data.items():
|
||||||
@ -150,6 +153,14 @@ class WeakKeyDictionary(UserDict.UserDict):
|
|||||||
L.append((o, value))
|
L.append((o, value))
|
||||||
return L
|
return L
|
||||||
|
|
||||||
|
def keys(self):
|
||||||
|
L = []
|
||||||
|
for ref in self.data.keys():
|
||||||
|
o = ref()
|
||||||
|
if o is not None:
|
||||||
|
L.append(o)
|
||||||
|
return L
|
||||||
|
|
||||||
def popitem(self):
|
def popitem(self):
|
||||||
while 1:
|
while 1:
|
||||||
key, value = self.data.popitem()
|
key, value = self.data.popitem()
|
||||||
@ -164,7 +175,7 @@ class WeakKeyDictionary(UserDict.UserDict):
|
|||||||
d = self.data
|
d = self.data
|
||||||
L = []
|
L = []
|
||||||
for key, value in dict.items():
|
for key, value in dict.items():
|
||||||
L.append(ref(key, self._remove), value)
|
L.append((ref(key, self._remove), value))
|
||||||
for key, r in L:
|
for key, r in L:
|
||||||
d[key] = r
|
d[key] = r
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user