aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--management/commands/_private.py7
-rw-r--r--utils.py10
-rw-r--r--views.py8
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
diff --git a/views.py b/views.py
index d11c026..99255c7 100644
--- a/views.py
+++ b/views.py
@@ -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")