Mercurial > piecrust2
view piecrust/sources/list.py @ 924:1bb704434ee2
formatting: Remove segment parts, you can use template tags instead.
Segment parts were used to switch formatters insides a given content segment,
but that's also achievable with template tags like `pcformat` in Jinja to
some degree. It's not totally the same but removing it simplifies the code
and improves performance.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 01 Oct 2017 20:36:04 -0700 |
parents | d231a10d18f9 |
children | 8adc27285d93 |
line wrap: on
line source
from piecrust.sources.base import ContentSource class ListSource(ContentSource): def __init__(self, inner_source, items): super().__init__( inner_source.app, inner_source.name, inner_source.config) self.inner_source = inner_source self.items = items def openItem(self, item, mode='r', **kwargs): return self.inner_source.openItem(item, mode, **kwargs) def getItemMtime(self, item): return self.inner_source.getItemMtime(item) def getContents(self, group): return self.items def getRelatedContents(self, item, relationship): return self.inner_source.getRelatedContents(item, relationship) def findContent(self, route_params): # Can't find items... we could find stuff that's not in our list? raise NotImplementedError( "The list source doesn't support finding items.") def getSupportedRouteParameters(self): return self.inner_source.getSupportedRouteParameters()