comparison piecrust/page.py @ 711:ab5c6a8ae90a

bake: Replace hard-coded taxonomy support with "generator" system. * Taxonomies are now implemented one or more `TaxonomyGenerator`s. * A `BlogArchivesGenerator` stub is there but non-functional.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 26 May 2016 19:52:47 -0700
parents dab26ab3d533
children e7481bbbb29f
comparison
equal deleted inserted replaced
710:e85f29b28b84 711:ab5c6a8ae90a
111 self._datetime += page_time 111 self._datetime += page_time
112 else: 112 else:
113 # No idea what the date/time for this page is. 113 # No idea what the date/time for this page is.
114 self._datetime = datetime.datetime.fromtimestamp(0) 114 self._datetime = datetime.datetime.fromtimestamp(0)
115 except Exception as ex: 115 except Exception as ex:
116 logger.exception(ex)
116 raise Exception( 117 raise Exception(
117 "Error computing time for page: %s" % 118 "Error computing time for page: %s" %
118 self.path) from ex 119 self.path) from ex
119 return self._datetime 120 return self._datetime
120 121
153 154
154 if isinstance(page_date, str): 155 if isinstance(page_date, str):
155 try: 156 try:
156 parsed_d = dateutil.parser.parse(page_date) 157 parsed_d = dateutil.parser.parse(page_date)
157 except Exception as ex: 158 except Exception as ex:
159 logger.exception(ex)
158 raise ConfigurationError("Invalid date: %s" % page_date) from ex 160 raise ConfigurationError("Invalid date: %s" % page_date) from ex
159 return datetime.date( 161 return datetime.date(
160 year=parsed_d.year, 162 year=parsed_d.year,
161 month=parsed_d.month, 163 month=parsed_d.month,
162 day=parsed_d.day) 164 day=parsed_d.day)
173 175
174 if isinstance(page_time, str): 176 if isinstance(page_time, str):
175 try: 177 try:
176 parsed_t = dateutil.parser.parse(page_time) 178 parsed_t = dateutil.parser.parse(page_time)
177 except Exception as ex: 179 except Exception as ex:
180 logger.exception(ex)
178 raise ConfigurationError("Invalid time: %s" % page_time) from ex 181 raise ConfigurationError("Invalid time: %s" % page_time) from ex
179 return datetime.timedelta( 182 return datetime.timedelta(
180 hours=parsed_t.hour, 183 hours=parsed_t.hour,
181 minutes=parsed_t.minute, 184 minutes=parsed_t.minute,
182 seconds=parsed_t.second) 185 seconds=parsed_t.second)