From: Neal H. Walfield Date: Tue, 6 Sep 2011 11:06:43 +0000 (+0200) Subject: Change Listing.getFeedUpdateTime to return a relative time string. X-Git-Url: http://git.maemo.org/git/?a=commitdiff_plain;h=892fef8d5427f1f46d76ab0d28cdc4adba4031cc;p=feedingit Change Listing.getFeedUpdateTime to return a relative time string. --- diff --git a/src/rss_sqlite.py b/src/rss_sqlite.py index 75c0f34..6551d93 100644 --- a/src/rss_sqlite.py +++ b/src/rss_sqlite.py @@ -965,9 +965,37 @@ class Listing: def getFeedUpdateTime(self, key): update_time = self.db.execute( "SELECT updateTime FROM feeds WHERE id=?;", (key,)).fetchone()[0] + if not update_time: return "Never" - return time.ctime(update_time) + + delta = time.time() - update_time + + delta_hours = delta / (60. * 60.) + if delta_hours < .1: + return "A few minutes ago" + if delta_hours < .75: + return "Less than an hour ago" + if delta_hours < 1.5: + return "About an hour ago" + if delta_hours < 18: + return "About %d hours ago" % (int(delta_hours + 0.5),) + + delta_days = delta_hours / 24. + if delta_days < 1.5: + return "About a day ago" + if delta_days < 18: + return "%d days ago" % (int(delta_days + 0.5),) + + delta_weeks = delta_days / 7. + if delta_weeks <= 8: + return "%d weeks ago" % int(delta_weeks + 0.5) + + delta_months = delta_days / 30. + if delta_months <= 30: + return "%d months ago" % int(delta_months + 0.5) + + return time.strftime("%x", time.gmtime(update_time)) def getFeedNumberOfUnreadItems(self, key): return self.db.execute("SELECT unread FROM feeds WHERE id=?;", (key,)).fetchone()[0]