# HG changeset patch # User Ludovic Chabant # Date 1413439303 25200 # Node ID b6ec402d32bb356e4747ab6e72da6596236358d9 # Parent 10fc9c8bf682288640a532d72150389e54efb860 Properly add the config time to a page's datetime. diff -r 10fc9c8bf682 -r b6ec402d32bb piecrust/page.py --- 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" % (