aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--management/commands/listtimetables.py1
-rw-r--r--management/commands/timetables.py8
-rw-r--r--models.py2
3 files changed, 8 insertions, 3 deletions
diff --git a/management/commands/listtimetables.py b/management/commands/listtimetables.py
index c5ef41f..e4b782f 100644
--- a/management/commands/listtimetables.py
+++ b/management/commands/listtimetables.py
@@ -27,7 +27,6 @@ class Command(BaseCommand):
def handle(self, *args, **options):
timetables = Timetable.objects.all()
if options["order_by_id"]:
- print("oui")
timetables = timetables.order_by("id")
else:
timetables = timetables.order_by("name")
diff --git a/management/commands/timetables.py b/management/commands/timetables.py
index d39075d..d596233 100644
--- a/management/commands/timetables.py
+++ b/management/commands/timetables.py
@@ -64,6 +64,8 @@ class Command(BaseCommand):
def handle(self, *args, **options):
year = None
+ errcount = 0
+
if options["week"] is None:
_, week, day = timezone.now().isocalendar()
if day >= 6:
@@ -84,5 +86,9 @@ class Command(BaseCommand):
process_timetable(timetable, year, weeks)
except Exception as e:
self.stderr.write(self.style.ERROR("Failed to process {0}: {1}".format(timetable, e)))
+ errcount += 1
- self.stdout.write(self.style.SUCCESS("Done."))
+ if errcount == 0:
+ self.stdout.write(self.style.SUCCESS("Done."))
+ else:
+ self.stdout.write(self.style.ERROR("Done with {0} errors.".format(errcount)))
diff --git a/models.py b/models.py
index 32a5903..b047b44 100644
--- a/models.py
+++ b/models.py
@@ -133,7 +133,7 @@ class Room(models.Model):
class CourseManager(Manager):
def get_courses_for_group(self, group, **filters):
- return self.get_queryset().filter(Q(groups__td__isnull=True) | Q(groups__td=group.td), Q(groups__tp__isnull=True) | Q(groups__tp=group.tp), groups__mention=group.mention, groups__subgroup=group.subgroup, timetable=group.timetable, **filters).order_by("begin")
+ return self.get_queryset().filter(Q(groups__td__isnull=True) | Q(groups__td=group.td), Q(groups__tp__isnull=True) | Q(groups__tp=group.tp), Q(groups__subgroup__isnull=True) | Q(groups__subgroup=group.subgroup), groups__mention=group.mention, timetable=group.timetable, **filters).order_by("begin")
def get_weeks(self, **criteria):
qs = self.get_queryset().filter(**criteria).order_by("groups__name", "year", "week").annotate(_=Count(("groups", "year", "week", "begin")), year=ExtractYear("begin"))