Mercurial > piecrust2
comparison piecrust/data/builder.py @ 237:879fe1457e48
data: `Linker` refactor.
* Unify the `Linker` and `RecursiveLinker`.
* When a page and a directory share the same name, merge their entries in
the returned iterator.
* Tentative new templating interface.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 15 Feb 2015 22:46:23 -0800 |
parents | 7decf00eee47 |
children | d9d5c5de02a8 |
comparison
equal
deleted
inserted
replaced
236:eaf18442bff8 | 237:879fe1457e48 |
---|---|
3 import logging | 3 import logging |
4 from piecrust import APP_VERSION | 4 from piecrust import APP_VERSION |
5 from piecrust.configuration import merge_dicts | 5 from piecrust.configuration import merge_dicts |
6 from piecrust.data.assetor import Assetor | 6 from piecrust.data.assetor import Assetor |
7 from piecrust.data.debug import build_debug_info | 7 from piecrust.data.debug import build_debug_info |
8 from piecrust.data.linker import Linker, RecursiveLinker | 8 from piecrust.data.linker import Linker |
9 from piecrust.data.paginator import Paginator | 9 from piecrust.data.paginator import Paginator |
10 from piecrust.uriutil import get_slug, get_first_sub_uri | 10 from piecrust.uriutil import get_slug, get_first_sub_uri |
11 | 11 |
12 | 12 |
13 logger = logging.getLogger(__name__) | 13 logger = logging.getLogger(__name__) |
34 pc_data = PieCrustData() | 34 pc_data = PieCrustData() |
35 pgn_source = ctx.pagination_source or get_default_pagination_source(page) | 35 pgn_source = ctx.pagination_source or get_default_pagination_source(page) |
36 paginator = Paginator(page, pgn_source, first_uri, ctx.page_num, | 36 paginator = Paginator(page, pgn_source, first_uri, ctx.page_num, |
37 ctx.pagination_filter) | 37 ctx.pagination_filter) |
38 assetor = Assetor(page, first_uri) | 38 assetor = Assetor(page, first_uri) |
39 recursive_linker = RecursiveLinker(page.source, page_path=page.rel_path) | 39 recursive_linker = Linker(page.source, page_path=page.rel_path) |
40 data = { | 40 data = { |
41 'piecrust': pc_data, | 41 'piecrust': pc_data, |
42 'page': dict(page.config.get()), | 42 'page': dict(page.config.get()), |
43 'assets': assetor, | 43 'assets': assetor, |
44 'pagination': paginator, | 44 'pagination': paginator, |