summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/test/store-wsgi/gmemcache.py
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-03-10 09:34:28 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-03-10 09:34:28 +0000
commit5b3b3cf5da7c994092c1eb44fef2e142d1e744f1 (patch)
treeac33c485353fa036c3ef72f235e6e6134e68eed8 /sca-cpp/trunk/test/store-wsgi/gmemcache.py
parent5a390791d3049d415d98507be8b8ed29f523ecf0 (diff)
Added a WSGI store test case, plus a few fixes to get it working.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@921271 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--sca-cpp/trunk/test/store-wsgi/gmemcache.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/sca-cpp/trunk/test/store-wsgi/gmemcache.py b/sca-cpp/trunk/test/store-wsgi/gmemcache.py
new file mode 100644
index 0000000000..83dffa9339
--- /dev/null
+++ b/sca-cpp/trunk/test/store-wsgi/gmemcache.py
@@ -0,0 +1,45 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Memcached based cache implementation
+import uuid
+from google.appengine.api import memcache
+
+# Post a new item to the cache
+def post(collection, item):
+ id = collection + (str(uuid.uuid1()),)
+ r = memcache.add(repr(id), item, 600)
+ if r == False:
+ return None
+ return id
+
+# Get items from the cache
+def get(id):
+ item = memcache.get(repr(id))
+ return item
+
+# Update an item in the cache
+def put(id, item):
+ return memcache.set(repr(id), item, 600)
+
+# Delete items from the cache
+def delete(id):
+ r = memcache.delete(repr(id))
+ if r != 2:
+ return False
+ return True
+