| Index: chrome/common/extensions/docs/server2/appengine_wrappers.py
|
| diff --git a/chrome/common/extensions/docs/server2/appengine_wrappers.py b/chrome/common/extensions/docs/server2/appengine_wrappers.py
|
| index 04b7a22626b46c7d83842f2546502e60ffbef51f..1bd04ffe18018385601034a38e95381b197abf2f 100644
|
| --- a/chrome/common/extensions/docs/server2/appengine_wrappers.py
|
| +++ b/chrome/common/extensions/docs/server2/appengine_wrappers.py
|
| @@ -12,11 +12,7 @@ try:
|
| import google.appengine.api.files as files
|
| import google.appengine.api.memcache as memcache
|
| import google.appengine.api.urlfetch as urlfetch
|
| - # Default to a 5 minute cache timeout.
|
| - CACHE_TIMEOUT = 300
|
| except ImportError:
|
| - # Cache for one second because zero means cache forever.
|
| - CACHE_TIMEOUT = 1
|
| import re
|
| from StringIO import StringIO
|
|
|
| @@ -130,23 +126,37 @@ except ImportError:
|
| files = FakeFiles()
|
|
|
| class InMemoryMemcache(object):
|
| - """A fake memcache that does nothing.
|
| + """An in-memory memcache implementation.
|
| """
|
| + def __init__(self):
|
| + self._namespaces = {}
|
| +
|
| class Client(object):
|
| def set_multi_async(self, mapping, namespace='', time=0):
|
| - return
|
| + for k, v in mapping.iteritems():
|
| + memcache.set(k, v, namespace=namespace, time=time)
|
|
|
| def get_multi_async(self, keys, namespace='', time=0):
|
| - return _RPC(result=dict((k, None) for k in keys))
|
| + return _RPC(result=dict(
|
| + (k, memcache.get(k, namespace=namespace, time=time)) for k in keys))
|
|
|
| def set(self, key, value, namespace='', time=0):
|
| - return
|
| + self._GetNamespace(namespace)[key] = value
|
|
|
| def get(self, key, namespace='', time=0):
|
| - return None
|
| + return self._GetNamespace(namespace).get(key)
|
| +
|
| + def delete(self, key, namespace=''):
|
| + del self._GetNamespace(namespace)[key]
|
| +
|
| + def delete_multi(self, keys, namespace=''):
|
| + for k in keys:
|
| + self.delete(k, namespace=namespace)
|
|
|
| - def delete(self, key, namespace):
|
| - return
|
| + def _GetNamespace(self, namespace):
|
| + if namespace not in self._namespaces:
|
| + self._namespaces[namespace] = {}
|
| + return self._namespaces[namespace]
|
|
|
| memcache = InMemoryMemcache()
|
|
|
|
|