From 09a21b8529669c5fb1ea20bcfefa3a50dedc768a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 21 May 2010 11:19:06 -0600 Subject: [PATCH] Fix #5298 (Article Dates not set with custom parse_index) --- src/calibre/web/feeds/__init__.py | 13 +++++++++++++ src/calibre/web/feeds/templates.py | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/calibre/web/feeds/__init__.py b/src/calibre/web/feeds/__init__.py index c633e3b62b..bcb8c2d74f 100644 --- a/src/calibre/web/feeds/__init__.py +++ b/src/calibre/web/feeds/__init__.py @@ -49,6 +49,17 @@ class Article(object): self.date = published self.utctime = dt_factory(self.date, assume_utc=True, as_utc=True) self.localtime = self.utctime.astimezone(local_tz) + self._formatted_date = None + + @dynamic_property + def formatted_date(self): + def fget(self): + if self._formatted_date is None: + self._formatted_date = self.localtime.strftime(" [%a, %d %b %H:%M]") + return self._formatted_date + def fset(self, val): + self._formatted_date = val + return property(fget=fget, fset=fset) @dynamic_property def title(self): @@ -150,6 +161,8 @@ class Feed(object): self.articles.append(article) else: self.logger.debug('Skipping article %s (%s) from feed %s as it is too old.'%(title, article.localtime.strftime('%a, %d %b, %Y %H:%M'), self.title)) + d = item.get('date', '') + article.formatted_date = d def parse_article(self, item): diff --git a/src/calibre/web/feeds/templates.py b/src/calibre/web/feeds/templates.py index 954677a90e..4b2156b6a1 100644 --- a/src/calibre/web/feeds/templates.py +++ b/src/calibre/web/feeds/templates.py @@ -160,7 +160,7 @@ class FeedTemplate(Template):
  • ${article.title} - +
    ${Markup(cutoff(article.text_summary))}