diff --git a/common/djangoapps/student/views.py b/common/djangoapps/student/views.py index 2e48f50bd9..6f4cae61a8 100644 --- a/common/djangoapps/student/views.py +++ b/common/djangoapps/student/views.py @@ -6,6 +6,7 @@ import string import sys import uuid import feedparser +import urllib from django.conf import settings from django.contrib.auth import logout, authenticate, login @@ -47,13 +48,15 @@ def csrf_token(context): def index(request): ''' Redirects to main page -- info page if user authenticated, or marketing if not ''' - feed_data = settings.RSS_URL if hasattr(settings, 'RSS_URL') else render_to_string("feed.rss", None) - feed = cache.get("students_index_rss_feed") - - if feed == None: - feed = feedparser.parse(feed_data) - cache.set("students_index_rss_feed", feed, settings.RSS_TIMEOUT) + feed_data = cache.get("students_index_rss_feed_data") + if feed_data == None: + if hasattr(settings, 'RSS_URL'): + feed_data = urllib.urlopen(settings.RSS_URL).read() + else: + feed_data = render_to_string("feed.rss", None) + cache.set("students_index_rss_feed_data", feed_data, settings.RSS_TIMEOUT) + feed = feedparser.parse(feed_data) entries = feed['entries'][0:3] for entry in entries: soup = BeautifulSoup(entry.description) diff --git a/lms/templates/feed.rss b/lms/templates/feed.rss index 4056275342..8193f57ce3 100644 --- a/lms/templates/feed.rss +++ b/lms/templates/feed.rss @@ -1,5 +1,5 @@ -<%namespace name='static' file='static_content.html'/> +<%namespace name='static' file='static_content.html'/> tag:mitx.mit.edu,2012:/blog