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), |
