1   
 2   
 3   
 4   
 5   
 6   
 7   
 8   
 9   
10   
11   
12   
13   
14   
15  """App Engine memcache based cache for the discovery document.""" 
16   
17  import logging 
18   
19   
20   
21  from google.appengine.api import memcache 
22   
23  from . import base 
24  from ..discovery_cache import DISCOVERY_DOC_MAX_AGE 
25   
26   
27  LOGGER = logging.getLogger(__name__) 
28   
29  NAMESPACE = 'google-api-client' 
30   
31   
33    """A cache with app engine memcache API.""" 
34   
36        """Constructor. 
37   
38        Args: 
39          max_age: Cache expiration in seconds. 
40        """ 
41        self._max_age = max_age 
 42   
44      try: 
45        return memcache.get(url, namespace=NAMESPACE) 
46      except Exception as e: 
47        LOGGER.warning(e, exc_info=True) 
 48   
49 -  def set(self, url, content): 
 50      try: 
51        memcache.set(url, content, time=int(self._max_age), namespace=NAMESPACE) 
52      except Exception as e: 
53        LOGGER.warning(e, exc_info=True) 
  54   
55  cache = Cache(max_age=DISCOVERY_DOC_MAX_AGE) 
56