comparison piecrust/data/builder.py @ 33:62c7a97c8340

Get the un-paginated URL of a page early and pass that around.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 19 Aug 2014 15:36:28 -0700
parents 30a42341cfa8
children 99dea56238af
comparison
equal deleted inserted replaced
32:43091c9837bf 33:62c7a97c8340
3 from piecrust.configuration import merge_dicts 3 from piecrust.configuration import merge_dicts
4 from piecrust.data.assetor import Assetor 4 from piecrust.data.assetor import Assetor
5 from piecrust.data.debug import build_debug_info 5 from piecrust.data.debug import build_debug_info
6 from piecrust.data.linker import Linker 6 from piecrust.data.linker import Linker
7 from piecrust.data.paginator import Paginator 7 from piecrust.data.paginator import Paginator
8 from piecrust.uriutil import get_slug 8 from piecrust.uriutil import get_slug, get_first_sub_uri
9 9
10 10
11 logger = logging.getLogger(__name__) 11 logger = logging.getLogger(__name__)
12 12
13 13
25 25
26 26
27 def build_page_data(ctx): 27 def build_page_data(ctx):
28 page = ctx.page 28 page = ctx.page
29 app = page.app 29 app = page.app
30 first_uri = get_first_sub_uri(app, ctx.uri)
30 31
31 pc_data = PieCrustData() 32 pc_data = PieCrustData()
32 pgn_source = ctx.pagination_source or get_default_pagination_source(page) 33 pgn_source = ctx.pagination_source or get_default_pagination_source(page)
33 paginator = Paginator(page, pgn_source, ctx.uri, ctx.page_num, 34 paginator = Paginator(page, pgn_source, first_uri, ctx.page_num,
34 ctx.pagination_filter) 35 ctx.pagination_filter)
35 assetor = Assetor(page, ctx.uri) 36 assetor = Assetor(page, first_uri)
36 linker = Linker(page) 37 linker = Linker(page)
37 data = { 38 data = {
38 'piecrust': pc_data, 39 'piecrust': pc_data,
39 'page': dict(page.config.get()), 40 'page': dict(page.config.get()),
40 'assets': assetor, 41 'assets': assetor,