From ee72a725bb4b28f7c3cbc9e0c717c0ab60619575 Mon Sep 17 00:00:00 2001 From: Matthew Mongeau Date: Mon, 23 Jul 2012 11:29:53 -0400 Subject: [PATCH] Sort by course number. Simplify university grouping. --- common/djangoapps/student/views.py | 6 +++--- lms/djangoapps/courseware/views.py | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/common/djangoapps/student/views.py b/common/djangoapps/student/views.py index 038606e556..a6ce6ca521 100644 --- a/common/djangoapps/student/views.py +++ b/common/djangoapps/student/views.py @@ -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}) diff --git a/lms/djangoapps/courseware/views.py b/lms/djangoapps/courseware/views.py index d5f24db9d0..3fc691daa7 100644 --- a/lms/djangoapps/courseware/views.py +++ b/lms/djangoapps/courseware/views.py @@ -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))