From 3bae7ddf8e63889b185235f85a6695bc05d59059 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Tue, 6 Nov 2001 16:36:53 +0000 Subject: WeakKeyDictionary.has_key(): If the key being tested is not weakly referencable (weakref.ref() raises TypeError), return 0 instead of propogating the TypeError. This closes SF bug #478536; bugfix candidate. --- Lib/weakref.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Lib/weakref.py b/Lib/weakref.py index 39ec330..967458d 100644 --- a/Lib/weakref.py +++ b/Lib/weakref.py @@ -179,7 +179,11 @@ class WeakKeyDictionary(UserDict.UserDict): return self.data.get(ref(key),default) def has_key(self, key): - return self.data.has_key(ref(key)) + try: + wr = ref(key) + except TypeError: + return 0 + return self.data.has_key(wr) def items(self): L = [] -- cgit v0.12