diff options
| -rw-r--r-- | utils.py | 10 | ||||
| -rw-r--r-- | views.py | 9 | 
2 files changed, 12 insertions, 7 deletions
| @@ -8,3 +8,13 @@ def get_week(year, week):      end = start + datetime.timedelta(weeks=1)      return start, end + +def group_courses(courses): +    grouped_courses = [] +    for i, course in enumerate(courses): +        if i == 0 or courses[i - 1].begin.day != course.begin.day: +            grouped_courses.append([course]) +        else: +            grouped_courses[-1].append(course) + +    return grouped_courses @@ -5,7 +5,7 @@ from django.utils import timezone  from edt.forms import SubscribeForm  from edt.models import Timetable, LastUpdate, Group, Subscription, Course -from edt.utils import get_week +from edt.utils import get_week, group_courses  import datetime @@ -34,12 +34,7 @@ def timetable(request, timetable_slug, year, week, group_slug):      courses = Course.objects.get_courses_for_group(group, begin__gte=start, begin__lt=end)      last_update = LastUpdate.objects.get(timetable=timetable, week=week, year=year) -    grouped_courses = [] -    for i, course in enumerate(courses): -        if i == 0 or courses[i - 1].begin.day != course.begin.day: -            grouped_courses.append([course]) -        else: -            grouped_courses[-1].append(course) +    grouped_courses = group_courses(courses)      return render(request, "timetable.html", {"timetable": timetable, "group": group, "courses": grouped_courses, "last_update": last_update.date, "year": year, "week": week}) | 
