summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/hosting/server/pages.py
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2012-01-30 15:56:11 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2012-01-30 15:56:11 +0000
commitf4c4803ce0c14585e3c2af3641d94b651877e04c (patch)
tree9f10df32f2d34a3c697aaee897bad0b180922095 /sca-cpp/trunk/hosting/server/pages.py
parent1b10f18fce6baeb721a725661ded630614831304 (diff)
Refactor server hosting module, rename it and move it under a hosting dir, and refactor its datastore components into a single component.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1237740 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/hosting/server/pages.py')
-rw-r--r--sca-cpp/trunk/hosting/server/pages.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/sca-cpp/trunk/hosting/server/pages.py b/sca-cpp/trunk/hosting/server/pages.py
new file mode 100644
index 0000000000..a1ec888a0f
--- /dev/null
+++ b/sca-cpp/trunk/hosting/server/pages.py
@@ -0,0 +1,44 @@
+# 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.
+
+# App pages collection implementation
+from util import *
+
+# Convert an id to an app id
+def appid(id):
+ return ("'apps", "'" + car(id), "'htdocs", "'app.html")
+
+# Put an app page into the apps db
+def put(id, app, cache):
+ xhtml = cdr(cadddr(car(app)))
+ cache.put(appid(id), xhtml)
+ return True
+
+# Get an app page from the apps db
+def get(id, cache):
+ if isNil(id):
+ return (("'feed", ("'title", "Pages"), ("'id", "pages")),)
+ xhtml = cache.get(appid(id))
+ if isNil(xhtml) or xhtml is None:
+ return (("'entry", ("'title", car(id)), ("'id", car(id))),)
+ return (("'entry", ("'title", car(id)), ("'id", car(id)), ("'content", car(xhtml))),)
+
+# Delete an app page from the apps db
+def delete(id, cache):
+ cache.delete(appid(id))
+ return True
+