Move press articles to json.

This commit is contained in:
Matthew Mongeau
2012-07-25 11:53:33 -04:00
parent c7648bc484
commit bd9da89fe9
5 changed files with 163 additions and 126 deletions

View File

@@ -35,9 +35,10 @@ from xmodule.modulestore.exceptions import ItemNotFoundError
from models import Registration, UserProfile, PendingNameChange, PendingEmailChange, CourseEnrollment
from datetime import date
from collections import namedtuple
log = logging.getLogger("mitx.student")
Article = namedtuple('Article', 'title url author image deck publication publish_date')
def csrf_token(context):
''' A csrf token that can be included in a form.
@@ -84,6 +85,19 @@ def course_from_id(id):
course_loc = CourseDescriptor.id_to_location(id)
return modulestore().get_item(course_loc)
def press(request):
json_articles = cache.get("student_press_json_articles")
if json_articles == None:
if hasattr(settings, 'RSS_URL'):
content = urllib.urlopen(settings.PRESS_URL).read()
json_articles = json.loads(content)
else:
content = open(settings.PROJECT_ROOT / "templates" / "press.json").read()
json_articles = json.loads(content)
cache.set("student_press_json_articles", json_articles)
articles = [Article(**article) for article in json_articles]
return render_to_response('static_templates/press.html', {'articles': articles})
@login_required
@ensure_csrf_cookie
def dashboard(request):