Mercurial > piecrust2
comparison piecrust/data/builder.py @ 723:606f6d57b5df
routing: Cleanup URL routing and improve page matching.
* Add new types of route parameters for integers (int4, int2, int).
* Remove hard-coded hacks around converting year/month/day values.
* Make the blog post routes use the new typed parameters.
* Fix problems with matching routes with integer parameters when they can
get confused with a sub-page number.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 29 May 2016 20:19:28 -0700 |
parents | 93b656f0af54 |
children | 0da1207472d3 |
comparison
equal
deleted
inserted
replaced
722:f0a3af3fbea2 | 723:606f6d57b5df |
---|---|
5 from piecrust.data.linker import PageLinkerData | 5 from piecrust.data.linker import PageLinkerData |
6 from piecrust.data.pagedata import PageData | 6 from piecrust.data.pagedata import PageData |
7 from piecrust.data.paginator import Paginator | 7 from piecrust.data.paginator import Paginator |
8 from piecrust.data.piecrustdata import PieCrustData | 8 from piecrust.data.piecrustdata import PieCrustData |
9 from piecrust.data.providersdata import DataProvidersData | 9 from piecrust.data.providersdata import DataProvidersData |
10 from piecrust.uriutil import split_sub_uri | |
11 | 10 |
12 | 11 |
13 logger = logging.getLogger(__name__) | 12 logger = logging.getLogger(__name__) |
14 | 13 |
15 | 14 |
30 | 29 |
31 | 30 |
32 def build_page_data(ctx): | 31 def build_page_data(ctx): |
33 app = ctx.app | 32 app = ctx.app |
34 page = ctx.page | 33 page = ctx.page |
35 first_uri, _ = split_sub_uri(app, ctx.uri) | |
36 pgn_source = ctx.pagination_source or get_default_pagination_source(page) | 34 pgn_source = ctx.pagination_source or get_default_pagination_source(page) |
35 first_uri = ctx.page.getUri(1) | |
37 | 36 |
38 pc_data = PieCrustData() | 37 pc_data = PieCrustData() |
39 config_data = PageData(page, ctx) | 38 config_data = PageData(page, ctx) |
40 paginator = Paginator(page, pgn_source, | 39 paginator = Paginator(page, pgn_source, |
41 page_num=ctx.page_num, | 40 page_num=ctx.page_num, |