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):