Réglage d'un bug qui affichait une période de disponibilité de 0 minutes pour les salles occupées.

This commit is contained in:
Antoine Waehren 2022-02-27 11:33:15 +01:00
parent 8c06c3abfa
commit f35b508469

View File

@ -188,12 +188,16 @@ def getrooms(datet, links=[]) :
dateend = comp.decoded("dtend") dateend = comp.decoded("dtend")
roomname = str(comp.get("location")) roomname = str(comp.get("location"))
if roomname == "C11 MATH" :
print(datestart, dateend)
# L'événement se passe maintenant (salle occupée maintenant) : # L'événement se passe maintenant (salle occupée maintenant) :
if datestart.timestamp() <= datet.timestamp() and dateend.timestamp() > datet.timestamp() : if datestart.timestamp() <= datet.timestamp() and dateend.timestamp() > datet.timestamp() :
start = dateend # L'heure de début de la prochaine période de disponibilité est la fin de l'événement start = dateend # L'heure de début de la prochaine période de disponibilité est la fin de l'événement
end = datet.replace(hour = 23, minute = 59, second = 59) # Par défaut, l'heure de fin de la prochaine période disponibilité est aujourd'hui à 23:59 end = datet.replace(hour = 23, minute = 59, second = 59) # Par défaut, l'heure de fin de la prochaine période disponibilité est aujourd'hui à 23:59
is_free = False is_free = False
total_rooms[roomname] = room(roomname, start, end, is_free) total_rooms[roomname] = room(roomname, start, end, is_free)
if roomname == "C11 MATH" :
print(total_rooms[roomname])
# Deuxième boucle, pour ajouter les heures de dispos des salles : # Deuxième boucle, pour ajouter les heures de dispos des salles :
for cal in cals : # Bâtiments for cal in cals : # Bâtiments
@ -204,6 +208,9 @@ def getrooms(datet, links=[]) :
dateend = comp.decoded("dtend") dateend = comp.decoded("dtend")
roomname = str(comp.get("location")) roomname = str(comp.get("location"))
if roomname == "C11 MATH" :
print(datestart, dateend)
# L'événement se passe prochainement (salle occupée à l'occasion de cet événement) : # L'événement se passe prochainement (salle occupée à l'occasion de cet événement) :
if datestart.timestamp() > datet.timestamp() : if datestart.timestamp() > datet.timestamp() :
if roomname not in total_rooms.keys() : if roomname not in total_rooms.keys() :
@ -213,7 +220,7 @@ def getrooms(datet, links=[]) :
is_free = True is_free = True
total_rooms[roomname] = room(roomname, start, end, is_free) total_rooms[roomname] = room(roomname, start, end, is_free)
elif datestart.timestamp() < total_rooms[roomname]["end"].timestamp() : elif datestart.timestamp() < total_rooms[roomname]["end"].timestamp() :
if datestart.timestamp() == total_rooms[roomname]["start"] : if datestart.timestamp() == total_rooms[roomname]["start"].timestamp() :
start = dateend start = dateend
end = total_rooms[roomname]["end"] end = total_rooms[roomname]["end"]
else : else :
@ -221,6 +228,8 @@ def getrooms(datet, links=[]) :
end = datestart end = datestart
is_free = total_rooms[roomname]["is_free"] is_free = total_rooms[roomname]["is_free"]
total_rooms[roomname] = room(roomname, start, end, is_free) total_rooms[roomname] = room(roomname, start, end, is_free)
if roomname == "C11 MATH" :
print(total_rooms[roomname])
# Dans les autres cas, l'événement est passé, donc on l'ignore et on passe au suivant. # Dans les autres cas, l'événement est passé, donc on l'ignore et on passe au suivant.