comparison piecrust/sources/blogarchives.py @ 854:08e02c2a2a1a

core: Keep refactoring, this time to prepare for generator sources. - Make a few APIs simpler. - Content pipelines create their own jobs, so that generator sources can keep aborting in `getContents`, but rely on their pipeline to generate pages for baking.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 04 Jun 2017 23:34:28 -0700
parents f070a4fc033c
children 9bb22bbe093c
comparison
equal deleted inserted replaced
853:f070a4fc033c 854:08e02c2a2a1a
1 import logging 1 import logging
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.dataproviders.page_iterator import PageIterator 5 from piecrust.dataproviders.pageiterator import PageIterator
6 from piecrust.pipelines.base import ContentPipeline
6 from piecrust.routing import RouteParameter 7 from piecrust.routing import RouteParameter
7 from piecrust.sources.base import ContentSource, GeneratedContentException 8 from piecrust.sources.base import ContentSource, GeneratedContentException
8 9
9 10
10 logger = logging.getLogger(__name__) 11 logger = logging.getLogger(__name__)
11 12
12 13
13 class BlogArchivesSource(ContentSource): 14 class BlogArchivesSource(ContentSource):
14 SOURCE_NAME = 'blog_archives' 15 SOURCE_NAME = 'blog_archives'
16 DEFAULT_PIPELINE_NAME = 'blog_archives'
15 17
16 def __init__(self, app, name, config): 18 def __init__(self, app, name, config):
17 super().__init__(app, name, config) 19 super().__init__(app, name, config)
18 20
19 def getContents(self, group): 21 def getContents(self, group):
122 124
123 125
124 def _date_sorter(it): 126 def _date_sorter(it):
125 return sorted(it, key=lambda x: x.datetime) 127 return sorted(it, key=lambda x: x.datetime)
126 128
129
130 class BlogArchivesPipeline(ContentPipeline):
131 PIPELINE_NAME = 'blog_archives'
132 PASS_NUM = 1