Mercurial > piecrust2
comparison piecrust/baking/single.py @ 280:8c0c53a315ae
data: Correctly build pagination filters when we know items are pages.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 01 Mar 2015 21:39:26 -0800 |
parents | 74bea91c9630 |
children | a2d283d1033d |
comparison
equal
deleted
inserted
replaced
279:980bbbd0705e | 280:8c0c53a315ae |
---|---|
5 import urllib.error | 5 import urllib.error |
6 import urllib.parse | 6 import urllib.parse |
7 import urllib.request | 7 import urllib.request |
8 from piecrust.baking.records import FLAG_OVERRIDEN, FLAG_SOURCE_MODIFIED | 8 from piecrust.baking.records import FLAG_OVERRIDEN, FLAG_SOURCE_MODIFIED |
9 from piecrust.data.filters import (PaginationFilter, HasFilterClause, | 9 from piecrust.data.filters import (PaginationFilter, HasFilterClause, |
10 IsFilterClause, AndBooleanClause) | 10 IsFilterClause, AndBooleanClause, |
11 page_value_accessor) | |
11 from piecrust.rendering import (PageRenderingContext, render_page, | 12 from piecrust.rendering import (PageRenderingContext, render_page, |
12 PASS_FORMATTING, PASS_RENDERING) | 13 PASS_FORMATTING, PASS_RENDERING) |
13 from piecrust.sources.base import (PageFactory, | 14 from piecrust.sources.base import (PageFactory, |
14 REALM_NAMES, REALM_USER, REALM_THEME) | 15 REALM_NAMES, REALM_USER, REALM_THEME) |
15 | 16 |
62 if taxonomy_name and taxonomy_term: | 63 if taxonomy_name and taxonomy_term: |
63 # Must bake a taxonomy listing page... we'll have to add a | 64 # Must bake a taxonomy listing page... we'll have to add a |
64 # pagination filter for only get matching posts, and the output | 65 # pagination filter for only get matching posts, and the output |
65 # URL will be a bit different. | 66 # URL will be a bit different. |
66 tax = self.app.getTaxonomy(taxonomy_name) | 67 tax = self.app.getTaxonomy(taxonomy_name) |
67 pagination_filter = PaginationFilter() | 68 pagination_filter = PaginationFilter( |
69 value_accessor=page_value_accessor) | |
68 if tax.is_multiple: | 70 if tax.is_multiple: |
69 if isinstance(taxonomy_term, tuple): | 71 if isinstance(taxonomy_term, tuple): |
70 abc = AndBooleanClause() | 72 abc = AndBooleanClause() |
71 for t in taxonomy_term: | 73 for t in taxonomy_term: |
72 abc.addClause(HasFilterClause(taxonomy_name, t)) | 74 abc.addClause(HasFilterClause(taxonomy_name, t)) |