Mercurial > piecrust2
comparison piecrust/rendering.py @ 174:e9a3d405e18f
serve: Always force render the page being previewed.
This is because if the page hasn't changed, but it includes pages that did
change, it will re-use the cache and the user will preview the old version.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 03 Jan 2015 21:20:19 -0800 |
parents | 1187739e5a19 |
children | fff195335d0a |
comparison
equal
deleted
inserted
replaced
173:0a86a7a6b284 | 174:e9a3d405e18f |
---|---|
37 PASS_FORMATTING = 1 | 37 PASS_FORMATTING = 1 |
38 PASS_RENDERING = 2 | 38 PASS_RENDERING = 2 |
39 | 39 |
40 | 40 |
41 class PageRenderingContext(object): | 41 class PageRenderingContext(object): |
42 def __init__(self, page, uri, page_num=1): | 42 def __init__(self, page, uri, page_num=1, force_render=False): |
43 self.page = page | 43 self.page = page |
44 self.uri = uri | 44 self.uri = uri |
45 self.page_num = page_num | 45 self.page_num = page_num |
46 self.force_render = force_render | |
46 self.pagination_source = None | 47 self.pagination_source = None |
47 self.pagination_filter = None | 48 self.pagination_filter = None |
48 self.custom_data = None | 49 self.custom_data = None |
49 self.use_cache = False | 50 self.use_cache = False |
50 self.used_assets = None | 51 self.used_assets = None |
94 page_data.update(ctx.custom_data) | 95 page_data.update(ctx.custom_data) |
95 | 96 |
96 # Render content segments. | 97 # Render content segments. |
97 ctx.current_pass = PASS_FORMATTING | 98 ctx.current_pass = PASS_FORMATTING |
98 repo = ctx.app.env.rendered_segments_repository | 99 repo = ctx.app.env.rendered_segments_repository |
99 if repo: | 100 if repo and not ctx.force_render: |
100 cache_key = '%s:%s' % (ctx.uri, ctx.page_num) | 101 cache_key = '%s:%s' % (ctx.uri, ctx.page_num) |
101 page_time = page.path_mtime | 102 page_time = page.path_mtime |
102 contents = repo.get( | 103 contents = repo.get( |
103 cache_key, | 104 cache_key, |
104 lambda: _do_render_page_segments(page, page_data), | 105 lambda: _do_render_page_segments(page, page_data), |