Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1053)

Unified Diff: chrome/common/extensions/docs/server2/appengine_wrappers.py

Issue 14218004: Devserver: only populate data during cron jobs, meaning all data from instances (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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()

Powered by Google App Engine
This is Rietveld 408576698