Index: chrome/common/extensions/docs/server2/datastore_models.py |
diff --git a/chrome/common/extensions/docs/server2/datastore_models.py b/chrome/common/extensions/docs/server2/datastore_models.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c9bbe0d503f2f847169d4a8e0c0eeeec9a5f6a5c |
--- /dev/null |
+++ b/chrome/common/extensions/docs/server2/datastore_models.py |
@@ -0,0 +1,24 @@ |
+# Copyright 2013 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+from appengine_wrappers import db |
+import cPickle |
+ |
+# A collection of the data store models used throughout the server. |
+# These values are global within datastore. |
+ |
+class PersistentObjectStoreItem(db.Model): |
+ pickled_value = db.BlobProperty() |
+ |
+ @classmethod |
+ def CreateKey(cls, namespace, key): |
+ return db.Key.from_path(cls.__name__, '%s/%s' % (namespace, key)) |
+ |
+ @classmethod |
+ def CreateItem(cls, namespace, key, value): |
+ return PersistentObjectStoreItem(key=cls.CreateKey(namespace, key), |
+ pickled_value=cPickle.dumps(value)) |
+ |
+ def GetValue(self): |
+ return cPickle.loads(self.pickled_value) |