| Index: chrome/common/extensions/docs/server2/persistent_object_store.py
|
| diff --git a/chrome/common/extensions/docs/server2/persistent_object_store.py b/chrome/common/extensions/docs/server2/persistent_object_store.py
|
| index 0feb6d81beb56e9a926433ebc30ae48f0a54142c..c0ae8734c01cdaeab51f7c1ada93c1b8b2f35dd5 100644
|
| --- a/chrome/common/extensions/docs/server2/persistent_object_store.py
|
| +++ b/chrome/common/extensions/docs/server2/persistent_object_store.py
|
| @@ -5,7 +5,7 @@
|
| from appengine_wrappers import db
|
| from datastore_models import PersistentObjectStoreItem
|
| from environment import IsDevServer
|
| -from future import Future
|
| +from future import All, Future
|
| from object_store import ObjectStore
|
|
|
|
|
| @@ -16,14 +16,14 @@ class PersistentObjectStore(ObjectStore):
|
| self._namespace = namespace
|
|
|
| def SetMulti(self, mapping):
|
| - futures = []
|
| - for key, value in mapping.items():
|
| - futures.append(db.put_async(
|
| - PersistentObjectStoreItem.CreateItem(self._namespace, key, value)))
|
| + rpcs = [db.put_async(
|
| + PersistentObjectStoreItem.CreateItem(self._namespace, key, value))
|
| + for key, value in mapping.iteritems()]
|
| # If running the dev server, the futures don't complete until the server is
|
| # *quitting*. This is annoying. Flush now.
|
| if IsDevServer():
|
| - [future.wait() for future in futures]
|
| + [rpc.wait() for rpc in rpcs]
|
| + return All(Future(callback=lambda: rpc.get_result()) for rpc in rpcs)
|
|
|
| def GetMulti(self, keys):
|
| db_futures = dict(
|
|
|