From cf7bf2de294a0e7be37f03935c0a292d60ed1829 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 7 Oct 2010 19:16:40 -0500 Subject: Factor out common last modified code for news feed This will set up retrieving this value from memcached as well as some other changes to come. Signed-off-by: Dan McGee --- feeds.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'feeds.py') diff --git a/feeds.py b/feeds.py index ac85c72b..c46a8be3 100644 --- a/feeds.py +++ b/feeds.py @@ -78,18 +78,23 @@ class PackageFeed(Feed): return (item.repo.name, item.arch.name) -def news_etag(request, *args, **kwargs): - latest = News.objects.latest('last_modified') - if latest: - return md5_constructor(str(latest.last_modified)).hexdigest() +def retrieve_news_latest(): + try: + latest = News.objects.values('last_modified').latest('last_modified') + return latest['last_modified'] + except News.DoesNotExist: + pass return None -def news_last_modified(request): - latest = News.objects.latest('last_modified') +def news_etag(request, *args, **kwargs): + latest = retrieve_news_latest() if latest: - return latest.last_modified + return md5_constructor(str(latest)).hexdigest() return None +def news_last_modified(request, *args, **kwargs): + return retrieve_news_latest() + class NewsFeed(Feed): title = 'Arch Linux: Recent news updates' link = '/news/' -- cgit v1.2.3-55-g3dc8