diff options
| -rw-r--r-- | management/commands/listtimetables.py | 1 | ||||
| -rw-r--r-- | management/commands/timetables.py | 8 | ||||
| -rw-r--r-- | models.py | 2 | 
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))) @@ -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"))  | 
