Mercurial > piecrust2
changeset 108:b6ec402d32bb
Properly add the config time to a page's datetime.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 15 Oct 2014 23:01:43 -0700 |
parents | 10fc9c8bf682 |
children | 438509f12332 |
files | piecrust/page.py |
diffstat | 1 files changed, 14 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/piecrust/page.py Wed Oct 15 23:01:05 2014 -0700 +++ b/piecrust/page.py Wed Oct 15 23:01:43 2014 -0700 @@ -93,19 +93,25 @@ raise ConfigurationError( "Invalid time '%s' in page: %s" % (page_time, self.path)) from ex - page_time = datetime.time(parsed_t.hour, - parsed_t.minute, parsed_t.second) + page_time = datetime.timedelta( + hours=parsed_t.hour, + minutes=parsed_t.minute, + seconds=parsed_t.second) elif isinstance(page_time, int): # Total seconds... convert to a time struct. - delta = datetime.timedelta(seconds=page_time) - dummy = datetime.datetime(1970, 1, 1) - dummy += delta - page_time = dummy.time() + page_time = datetime.timedelta(seconds=page_time) + + elif not isinstance(page_time, datetime.timedelta): + raise ConfigurationError( + "Invalid time '%s' in page: %s" % + (page_time, self.path)) try: - self._datetime = datetime.datetime.combine( - page_date, page_time) + self._datetime = datetime.datetime( + page_date.year, + page_date.month, + page_date.day) + page_time except Exception as ex: raise ConfigurationError( "Invalid page time '%s' for: %s" % (