Mercurial > piecrust2
annotate piecrust/admin/views/preview.py @ 853:f070a4fc033c
core: Continue PieCrust3 refactor, simplify pages.
The asset pipeline is still the only function pipeline at this point.
* No more `QualifiedPage`, and several other pieces of code deleted.
* Data providers are simpler and more focused. For instance, the page iterator
doesn't try to support other types of items.
* Route parameters are proper known source metadata to remove the confusion
between the two.
* Make the baker and pipeline more correctly manage records and record
histories.
* Add support for record collapsing and deleting stale outputs in the asset
pipeline.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 21 May 2017 00:06:59 -0700 |
parents | 82509bce94ca |
children | dcdec4b951a1 |
rev | line source |
---|---|
772
3885421c29a3
admin: Make the whole FoodTruck site into a blueprint.
Ludovic Chabant <ludovic@chabant.com>
parents:
704
diff
changeset
|
1 from flask import current_app, g, make_response |
587
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
2 from flask.ext.login import login_required |
704
89ca8cdab020
admin: Fix crash when previewing a website.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
3 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
|
4 from piecrust.serving.server import Server |
772
3885421c29a3
admin: Make the whole FoodTruck site into a blueprint.
Ludovic Chabant <ludovic@chabant.com>
parents:
704
diff
changeset
|
5 from ..blueprint import foodtruck_bp |
587
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
6 |
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
7 |
772
3885421c29a3
admin: Make the whole FoodTruck site into a blueprint.
Ludovic Chabant <ludovic@chabant.com>
parents:
704
diff
changeset
|
8 @foodtruck_bp.route('/site/<sitename>/') |
587
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
9 @login_required |
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
10 def preview_site_root(sitename): |
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
11 return preview_site(sitename, '/') |
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
12 |
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
13 |
772
3885421c29a3
admin: Make the whole FoodTruck site into a blueprint.
Ludovic Chabant <ludovic@chabant.com>
parents:
704
diff
changeset
|
14 @foodtruck_bp.route('/site/<sitename>/<path:url>') |
587
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
15 @login_required |
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
16 def preview_site(sitename, url): |
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
17 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
|
18 appfactory = PieCrustFactory( |
812
82509bce94ca
internal: PEP8 fixup for admin panel code.
Ludovic Chabant <ludovic@chabant.com>
parents:
778
diff
changeset
|
19 root_dir, |
82509bce94ca
internal: PEP8 fixup for admin panel code.
Ludovic Chabant <ludovic@chabant.com>
parents:
778
diff
changeset
|
20 cache_key='foodtruck', |
82509bce94ca
internal: PEP8 fixup for admin panel code.
Ludovic Chabant <ludovic@chabant.com>
parents:
778
diff
changeset
|
21 debug=current_app.debug) |
704
89ca8cdab020
admin: Fix crash when previewing a website.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
22 server = Server(appfactory, |
89ca8cdab020
admin: Fix crash when previewing a website.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
23 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
|
24 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
|
25 |