[Python-checkins] CVS: python/dist/src/Lib weakref.py,1.7,1.8

Fred L. Drake fdrake@users.sourceforge.net
2001年4月16日 10:34:50 -0700


Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv30615
Modified Files:
	weakref.py 
Log Message:
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!
Index: weakref.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/weakref.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** weakref.py	2001年04月10日 19:11:23	1.7
--- weakref.py	2001年04月16日 17:34:48	1.8
***************
*** 55,59 ****
 return new
 
! def get(self, key, default):
 try:
 ref = self.data[key]
--- 55,59 ----
 return new
 
! def get(self, key, default=None):
 try:
 ref = self.data[key]
***************
*** 101,105 ****
 def remove(o, data=d, key=key):
 del data[key]
! L.append(key, ref(o, remove))
 for key, r in L:
 d[key] = r
--- 101,105 ----
 def remove(o, data=d, key=key):
 del data[key]
! L.append((key, ref(o, remove)))
 for key, r in L:
 d[key] = r
***************
*** 140,146 ****
 return new
 
! def get(self, key, default):
 return self.data.get(ref(key),default)
 
 def items(self):
 L = []
--- 140,149 ----
 return new
 
! def get(self, key, default=None):
 return self.data.get(ref(key),default)
 
+ def has_key(self, key):
+ return self.data.has_key(ref(key))
+ 
 def items(self):
 L = []
***************
*** 151,154 ****
--- 154,165 ----
 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):
 while 1:
***************
*** 165,169 ****
 L = []
 for key, value in dict.items():
! L.append(ref(key, self._remove), value)
 for key, r in L:
 d[key] = r
--- 176,180 ----
 L = []
 for key, value in dict.items():
! L.append((ref(key, self._remove), value))
 for key, r in L:
 d[key] = r

AltStyle によって変換されたページ (->オリジナル) /