Mercurial > piecrust2
comparison piecrust/data/builder.py @ 172:4fc1d306046b
linker: Actually implement the `Linker` class, and use it in the page data.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 03 Jan 2015 20:52:19 -0800 |
parents | a643b14a59a3 |
children | 1446dbc42d39 |
comparison
equal
deleted
inserted
replaced
171:d5991525801d | 172:4fc1d306046b |
---|---|
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 | 8 from piecrust.data.linker import Linker, RecursiveLinker |
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 linker = Linker(page) | 39 flat_linker = Linker(page.source, page_path=page.rel_path) |
40 recursive_linker = RecursiveLinker(page.source, page_path=page.rel_path) | |
40 data = { | 41 data = { |
41 'piecrust': pc_data, | 42 'piecrust': pc_data, |
42 'page': dict(page.config.get()), | 43 'page': dict(page.config.get()), |
43 'assets': assetor, | 44 'assets': assetor, |
44 'pagination': paginator, | 45 'pagination': paginator, |
45 'siblings': linker, | 46 'siblings': flat_linker, |
46 'family': linker | 47 'family': recursive_linker |
47 } | 48 } |
48 page_data = data['page'] | 49 page_data = data['page'] |
49 page_data['url'] = ctx.uri | 50 page_data['url'] = ctx.uri |
50 page_data['slug'] = ctx.slug | 51 page_data['slug'] = ctx.slug |
51 page_data['timestamp'] = time.mktime(page.datetime.timetuple()) | 52 page_data['timestamp'] = time.mktime(page.datetime.timetuple()) |