annotate foodtruck/views/preview.py @ 704:89ca8cdab020

admin: Fix crash when previewing a website.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 20 Apr 2016 23:07:27 -0700
parents d4a01a023998
children 3885421c29a3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
587
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1 import os.path
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2 from flask import g, make_response
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3 from flask.ext.login import login_required
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4 from piecrust import CACHE_DIR
704
89ca8cdab020 admin: Fix crash when previewing a website.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
5 from piecrust.app import PieCrustFactory
587
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
6 from piecrust.serving.server import Server
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
7 from ..web import app
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
8
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
9
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
10 @app.route('/site/<sitename>/')
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
11 @login_required
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
12 def preview_site_root(sitename):
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
13 return preview_site(sitename, '/')
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
14
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
15
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
16 @app.route('/site/<sitename>/<path:url>')
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
17 @login_required
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
18 def preview_site(sitename, url):
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
19 root_dir = g.sites.get_root_dir(sitename)
704
89ca8cdab020 admin: Fix crash when previewing a website.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
20 appfactory = PieCrustFactory(
89ca8cdab020 admin: Fix crash when previewing a website.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
21 root_dir,
89ca8cdab020 admin: Fix crash when previewing a website.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
22 cache_key='foodtruck',
89ca8cdab020 admin: Fix crash when previewing a website.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
23 debug=app.debug)
89ca8cdab020 admin: Fix crash when previewing a website.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
24 server = Server(appfactory,
89ca8cdab020 admin: Fix crash when previewing a website.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
25 root_url='/site/%s/' % sitename)
587
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
26 return make_response(server._run_request)
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
27
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
28