diff options
-rw-r--r-- | management/commands/_private.py | 7 | ||||
-rw-r--r-- | utils.py | 10 | ||||
-rw-r--r-- | views.py | 8 |
3 files changed, 14 insertions, 11 deletions
diff --git a/management/commands/_private.py b/management/commands/_private.py index 65772a4..f5a3ebc 100644 --- a/management/commands/_private.py +++ b/management/commands/_private.py @@ -1,6 +1,8 @@ from bs4 import BeautifulSoup from django.utils import timezone + from edt.models import Group, Room, Course +from edt.utils import get_week import datetime import requests @@ -23,10 +25,7 @@ def add_time(date, time): return date + delta def delete_courses_in_week(timetable, year, week): - start = timezone.make_aware(datetime.datetime.strptime( - "{0}-W{1:02d}-1".format(year, week), "%Y-W%W-%w")) - end = start + datetime.timedelta(weeks=1) - + start, end = get_week(year, week) Course.objects.filter(begin__gte=start, begin__lt=end, timetable=timetable).delete() diff --git a/utils.py b/utils.py new file mode 100644 index 0000000..5cc6648 --- /dev/null +++ b/utils.py @@ -0,0 +1,10 @@ +from django.utils import timezone + +import datetime + +def get_week(year, week): + start = timezone.make_aware(datetime.datetime.strptime( + "{0}-W{1:02d}-1".format(year, week), "%Y-W%W-%w")) + end = start + datetime.timedelta(weeks=1) + + return start, end @@ -1,18 +1,12 @@ from django.http import HttpResponse from django.db.models import Count from django.shortcuts import get_object_or_404, render, render_to_response -from django.utils import timezone from edt.models import Timetable, Group, Course +from edt.utils import get_week import datetime -def get_week(year, week): - start = timezone.make_aware(datetime.datetime.strptime("{0}-W{1:02d}-1".format(year, week), "%Y-W%W-%w")) - end = start + datetime.timedelta(weeks=1) - - return start, end - def index(request): timetables = Timetable.objects.all() groups = Group.objects.filter(tp__isnull=False).order_by("name") |