Implement the 'key in dict' test for LruCache()

This commit is contained in:
Paul "LeoNerd" Evans 2015-03-25 19:04:59 +00:00
parent 7ab9f91a60
commit d6b3ea75d4
1 changed files with 7 additions and 0 deletions

View File

@ -90,12 +90,16 @@ class LruCache(object):
def cache_len(): def cache_len():
return len(cache) return len(cache)
def cache_contains(key):
return key in cache
self.sentinel = object() self.sentinel = object()
self.get = cache_get self.get = cache_get
self.set = cache_set self.set = cache_set
self.setdefault = cache_set_default self.setdefault = cache_set_default
self.pop = cache_pop self.pop = cache_pop
self.len = cache_len self.len = cache_len
self.contains = cache_contains
def __getitem__(self, key): def __getitem__(self, key):
result = self.get(key, self.sentinel) result = self.get(key, self.sentinel)
@ -114,3 +118,6 @@ class LruCache(object):
def __len__(self): def __len__(self):
return self.len() return self.len()
def __contains__(self, key):
return self.contains(key)