old_contents: # -*- coding: utf-8 -*-
  import time
  
  
  class CacheDict(dict):
      '''
      Subclass of dict that will lazily delete items past ttl
      '''
      def __init__(self, ttl, *args, **kwargs):
          dict.__init__(self, *args, **kwargs)
          self._ttl = ttl
          self._key_cache_time = {}
  
      def _enforce_ttl_key(self, key):
          '''
          Enforce the TTL to a specific key, delete if its past TTL
          '''
          if time.time() - self._key_cache_time[key] > self._ttl:
              del self._key_cache_time[key]
              dict.__delitem__(self, key)
  
      def __getitem__(self, key):
          '''
          Check if the key is ttld out, then do the get
          '''
          self._enforce_ttl_key(key)
          return dict.__getitem__(self, key)
  
      def __setitem__(self, key, val):
          '''
          Make sure to update the key cache time
          '''
          self._key_cache_time[key] = time.time()
          dict.__setitem__(self, key, val)
  
      def __contains__(self, key):
          self._enforce_ttl_key(key)
          return dict.__contains__(self, key)
  
new_contents: # -*- coding: utf-8 -*-
  import time
  
  
  class CacheDict(dict):
      '''
      Subclass of dict that will lazily delete items past ttl
      '''
      def __init__(self, ttl, *args, **kwargs):
          dict.__init__(self, *args, **kwargs)
          self._ttl = ttl
          self._key_cache_time = {}
  
      def _enforce_ttl_key(self, key):
          '''
          Enforce the TTL to a specific key, delete if its past TTL
          '''
          if key not in self._key_cache_time:
              return
          if time.time() - self._key_cache_time[key] > self._ttl:
              del self._key_cache_time[key]
              dict.__delitem__(self, key)
  
      def __getitem__(self, key):
          '''
          Check if the key is ttld out, then do the get
          '''
          self._enforce_ttl_key(key)
          return dict.__getitem__(self, key)
  
      def __setitem__(self, key, val):
          '''
          Make sure to update the key cache time
          '''
          self._key_cache_time[key] = time.time()
          dict.__setitem__(self, key, val)
  
      def __contains__(self, key):
          self._enforce_ttl_key(key)
          return dict.__contains__(self, key)
  
subject: Fix check if the item doesn't exist in the ttl cache