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,