Commit 237fd28f by Matthew Mongeau

Sort by course number. Simplify university grouping.

parent f2824a13
......@@ -72,10 +72,10 @@ def index(request):
soup = BeautifulSoup(entry.description)
entry.image = soup.img['src'] if soup.img else None
courses = modulestore().get_courses()
universities = defaultdict(list)
for university, group in itertools.groupby(courses, lambda course: course.org):
[universities[university].append(course) for course in group]
courses = sorted(modulestore().get_courses(), key=lambda course: course.number)
for course in courses:
universities[course.org].append(course)
return render_to_response('index.html', {'universities': universities, 'entries': entries})
......
......@@ -57,10 +57,10 @@ def format_url_params(params):
@cache_if_anonymous
def courses(request):
# TODO: Clean up how 'error' is done.
courses = modulestore().get_courses()
courses = sorted(modulestore().get_courses(), key=lambda course: course.number)
universities = defaultdict(list)
for university, group in itertools.groupby(courses, lambda course: course.org):
[universities[university].append(course) for course in group]
for course in courses:
universities[course.org].append(course)
return render_to_response("courses.html", { 'universities': universities })
......@@ -275,7 +275,7 @@ def course_about(request, course_id):
@ensure_csrf_cookie
@cache_if_anonymous
def university_profile(request, org_id):
all_courses = modulestore().get_courses()
all_courses = sorted(modulestore().get_courses(), key=lambda course: course.number)
valid_org_ids = set(c.org for c in all_courses)
if org_id not in valid_org_ids:
raise Http404("University Profile not found for {0}".format(org_id))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment