Fix KeyError in LocalWeakReferencedCache

This commit is contained in:
Eugenio Lacuesta 2020-05-27 11:13:21 -03:00
parent b82a480e91
commit 44d5801b05
No known key found for this signature in database
GPG Key ID: DA3EF2D0913E9810
2 changed files with 3 additions and 2 deletions

View File

@ -105,8 +105,8 @@ class LocalWeakReferencedCache(weakref.WeakKeyDictionary):
def __getitem__(self, key):
try:
return super(LocalWeakReferencedCache, self).__getitem__(key)
except TypeError:
return None # key is not weak-referenceable, it's not cached
except (TypeError, KeyError):
return None # key is either not weak-referenceable or not cached
class SequenceExclude:

View File

@ -271,6 +271,7 @@ class LocalWeakReferencedCacheTest(unittest.TestCase):
self.assertNotIn(r1, cache)
self.assertIn(r2, cache)
self.assertIn(r3, cache)
self.assertEqual(cache[r1], None)
self.assertEqual(cache[r2], 2)
self.assertEqual(cache[r3], 3)
del r2