comparison piecrust/data/pagedata.py @ 729:e35407c60e00

templating: Make blog archives generator expose more templating data. In addition to pagination data, also expose a non-paginating iterator that lists all posts in a source by chronological order.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 01 Jun 2016 22:09:21 -0700
parents aed8a860c1d0
children 4850f8c21b6e
comparison
equal deleted inserted replaced
728:e7481bbbb29f 729:e35407c60e00
155 super(PageData, self).__init__(page) 155 super(PageData, self).__init__(page)
156 self._ctx = ctx 156 self._ctx = ctx
157 157
158 def _load(self): 158 def _load(self):
159 page = self._page 159 page = self._page
160 dt = page.datetime
160 for k, v in page.source_metadata.items(): 161 for k, v in page.source_metadata.items():
161 self._setValue(k, v) 162 self._setValue(k, v)
162 self._setValue('url', self._ctx.uri) 163 self._setValue('url', self._ctx.uri)
163 self._setValue('timestamp', time.mktime(page.datetime.timetuple())) 164 self._setValue('timestamp', time.mktime(dt.timetuple()))
165 self._setValue('datetime', {
166 'year': dt.year, 'month': dt.month, 'day': dt.day,
167 'hour': dt.hour, 'minute': dt.minute, 'second': dt.second})
164 date_format = page.app.config.get('site/date_format') 168 date_format = page.app.config.get('site/date_format')
165 if date_format: 169 if date_format:
166 self._setValue('date', page.datetime.strftime(date_format)) 170 self._setValue('date', page.datetime.strftime(date_format))
167 171