Skip to content
Snippets Groups Projects
Commit 7f0dac07 authored by Alban Gruin's avatar Alban Gruin
Browse files

Si on force une mise à jour, on efface les cours autant qu’on peut

au lieu de le faire à partir du lancement du traitement
parent 76e344f6
Branches
Tags v0.10.2
No related merge requests found
......@@ -26,7 +26,13 @@
@transaction.atomic
def process_timetable_week(timetable, soup, weeks_in_soup, force, year=None, week=None):
today = timezone.make_aware(datetime.datetime.now())
begin, end = get_week(year, week)
# Si on force la mise à jour, on définit de moment
# de la mise à jour au début de la semaine
if force:
today = begin
else:
today = timezone.make_aware(datetime.datetime.now())
# On récupère la mise à jour la plus ancienne dans les cours de l’emploi du temps
# commençant à partir de maintenant
......@@ -34,7 +40,6 @@ def process_timetable_week(timetable, soup, weeks_in_soup, force, year=None, wee
if year is not None and week is not None:
# Si jamais on traite une semaine spécifique, on limite les cours sélectionnés
# à ceux qui commencent entre le début du traitement et la fin de la semaine
_, end = get_week(year, week)
last_update_date = last_update_date.filter(begin__lt=end)
last_update_date = last_update_date.aggregate(Min("last_update")) \
......@@ -60,7 +65,10 @@ def process_timetable_week(timetable, soup, weeks_in_soup, force, year=None, wee
# Sinon, on efface tous les cours à partir de maintenant.
# Précisément, on prend la plus grande valeur entre la première semaine
# présente dans Celcat et maintenant.
delete_from = max(min(weeks_in_soup.values()), today) # Vraiment utile ?
delete_from = min(weeks_in_soup.values())
if not force:
# Si jamais on force la MàJ, on efface tout à partir de la première semaine
delete_from = max(delete_from, today)
Course.objects.filter(timetable=timetable, begin__gte=delete_from).delete()
# Tous les cours commençant sur la période traitée
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment