From 773e6e8a82756dae862e730c691c75250a2e4489 Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Wed, 6 Sep 2017 14:30:37 +0200 Subject: Disruption du fonctionnement de LastUpdate. Au lieu de stocker seulement la date de la dernière mise à jour, on stocke toutes les mises à jour. --- admin.py | 3 +-- management/commands/timetables.py | 11 ++++------- models.py | 9 ++++----- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/admin.py b/admin.py index 156eef1..9155924 100644 --- a/admin.py +++ b/admin.py @@ -65,8 +65,7 @@ class CourseAdmin(admin.ModelAdmin): @admin.register(CourseDelta) class CourseDeltaAdmin(admin.ModelAdmin): fieldsets = ( - (None, {"fields": ("course", "update", "operation",)}), - ) + (None, {"fields": ("course", "update", "operation",)}),) list_display = ("course", "update", "operation",) list_filter = ("operation",) ordering = ("update",) diff --git a/management/commands/timetables.py b/management/commands/timetables.py index d596233..0984c92 100644 --- a/management/commands/timetables.py +++ b/management/commands/timetables.py @@ -39,13 +39,10 @@ def process_timetable_week(timetable, year, week, soup, weeks_in_soup): course.save() date = timezone.make_aware(datetime.datetime.now()) - try: - last_update = LastUpdate.objects.get(timetable=timetable, year=year, week=week) - last_update.date = date - except: - last_update = LastUpdate(timetable=timetable, year=year, week=week, date=date) - finally: - last_update.save() + + Course.objects.filter(checked=True).update(checked=False) + last_update = LastUpdate(timetable=timetable, year=year, week=week, date=date) + last_update.save() def process_timetable(timetable, year, weeks): soup = get_xml(timetable.url) diff --git a/models.py b/models.py index d78e12b..5646a07 100644 --- a/models.py +++ b/models.py @@ -50,9 +50,9 @@ class LastUpdate(models.Model): class Meta: - unique_together = ("timetable", "week", "year",) - verbose_name = "dernière mise à jour" - verbose_name_plural = "dernières mises à jour" + unique_together = ("timetable", "week", "year", "date",) + verbose_name = "mise à jour" + verbose_name_plural = "mises à jour" class GroupManager(Manager): @@ -183,8 +183,7 @@ class CourseDelta(models.Model): DELETED = 1 OPERATION_CHOICE = ( (ADDED, "Ajouté"), - (DELETED, "Supprimé"), - ) + (DELETED, "Supprimé"),) course = models.ForeignKey(Course, verbose_name="cours") update = models.ForeignKey(LastUpdate, verbose_name="mise à jour") -- cgit v1.2.1