diff foodtruck/views/preview.py @ 587:d4a01a023998

admin: Add "FoodTruck" admin panel from the side experiment project.
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 16 Jan 2016 14:24:35 -0800
parents
children 89ca8cdab020
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/foodtruck/views/preview.py	Sat Jan 16 14:24:35 2016 -0800
@@ -0,0 +1,25 @@
+import os.path
+from flask import g, make_response
+from flask.ext.login import login_required
+from piecrust import CACHE_DIR
+from piecrust.serving.server import Server
+from ..web import app
+
+
+@app.route('/site/<sitename>/')
+@login_required
+def preview_site_root(sitename):
+    return preview_site(sitename, '/')
+
+
+@app.route('/site/<sitename>/<path:url>')
+@login_required
+def preview_site(sitename, url):
+    root_dir = g.sites.get_root_dir(sitename)
+    sub_cache_dir = os.path.join(root_dir, CACHE_DIR, 'foodtruck')
+    server = Server(root_dir, sub_cache_dir=sub_cache_dir,
+                    root_url='/site/%s/' % sitename,
+                    debug=app.debug)
+    return make_response(server._run_request)
+
+