Mercurial > piecrust2
comparison piecrust/generation/blogarchives.py @ 792:58ebf50235a5
routing: Simplify how routes are defined.
* No more declaring the type of route parameters -- the sources and generators
already know what type each parameter is supposed to be.
* Same for variadic parameters -- we know already.
* Update cache version to force a clear reload of the config.
* Update tests.
TODO: simplify code in the `Route` class to use source or generator transparently.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 07 Sep 2016 08:58:41 -0700 |
parents | 13ec290bfc13 |
children |
comparison
equal
deleted
inserted
replaced
791:504d6817352d | 792:58ebf50235a5 |
---|---|
2 import datetime | 2 import datetime |
3 from piecrust.chefutil import format_timed_scope | 3 from piecrust.chefutil import format_timed_scope |
4 from piecrust.data.filters import PaginationFilter, IFilterClause | 4 from piecrust.data.filters import PaginationFilter, IFilterClause |
5 from piecrust.data.iterators import PageIterator | 5 from piecrust.data.iterators import PageIterator |
6 from piecrust.generation.base import PageGenerator, InvalidRecordExtraKey | 6 from piecrust.generation.base import PageGenerator, InvalidRecordExtraKey |
7 from piecrust.routing import RouteParameter | |
7 | 8 |
8 | 9 |
9 logger = logging.getLogger(__name__) | 10 logger = logging.getLogger(__name__) |
10 | 11 |
11 | 12 |
12 class BlogArchivesPageGenerator(PageGenerator): | 13 class BlogArchivesPageGenerator(PageGenerator): |
13 GENERATOR_NAME = 'blog_archives' | 14 GENERATOR_NAME = 'blog_archives' |
14 | 15 |
15 def __init__(self, app, name, config): | 16 def __init__(self, app, name, config): |
16 super(BlogArchivesPageGenerator, self).__init__(app, name, config) | 17 super(BlogArchivesPageGenerator, self).__init__(app, name, config) |
18 | |
19 def getSupportedRouteParameters(self): | |
20 return [RouteParameter('year', RouteParameter.TYPE_INT4)] | |
17 | 21 |
18 def onRouteFunctionUsed(self, route, route_metadata): | 22 def onRouteFunctionUsed(self, route, route_metadata): |
19 pass | 23 pass |
20 | 24 |
21 def prepareRenderContext(self, ctx): | 25 def prepareRenderContext(self, ctx): |