Mercurial > piecrust2
comparison piecrust/page.py @ 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 | 0445a2232de7 |
children | d31cbbdb4ecc |
comparison
equal
deleted
inserted
replaced
107:10fc9c8bf682 | 108:b6ec402d32bb |
---|---|
91 parsed_t = dateutil.parser.parse(page_time) | 91 parsed_t = dateutil.parser.parse(page_time) |
92 except Exception as ex: | 92 except Exception as ex: |
93 raise ConfigurationError( | 93 raise ConfigurationError( |
94 "Invalid time '%s' in page: %s" % | 94 "Invalid time '%s' in page: %s" % |
95 (page_time, self.path)) from ex | 95 (page_time, self.path)) from ex |
96 page_time = datetime.time(parsed_t.hour, | 96 page_time = datetime.timedelta( |
97 parsed_t.minute, parsed_t.second) | 97 hours=parsed_t.hour, |
98 minutes=parsed_t.minute, | |
99 seconds=parsed_t.second) | |
98 | 100 |
99 elif isinstance(page_time, int): | 101 elif isinstance(page_time, int): |
100 # Total seconds... convert to a time struct. | 102 # Total seconds... convert to a time struct. |
101 delta = datetime.timedelta(seconds=page_time) | 103 page_time = datetime.timedelta(seconds=page_time) |
102 dummy = datetime.datetime(1970, 1, 1) | 104 |
103 dummy += delta | 105 elif not isinstance(page_time, datetime.timedelta): |
104 page_time = dummy.time() | 106 raise ConfigurationError( |
107 "Invalid time '%s' in page: %s" % | |
108 (page_time, self.path)) | |
105 | 109 |
106 try: | 110 try: |
107 self._datetime = datetime.datetime.combine( | 111 self._datetime = datetime.datetime( |
108 page_date, page_time) | 112 page_date.year, |
113 page_date.month, | |
114 page_date.day) + page_time | |
109 except Exception as ex: | 115 except Exception as ex: |
110 raise ConfigurationError( | 116 raise ConfigurationError( |
111 "Invalid page time '%s' for: %s" % ( | 117 "Invalid page time '%s' for: %s" % ( |
112 page_time, self.path)) from ex | 118 page_time, self.path)) from ex |
113 else: | 119 else: |