Ajout d'une marge pour la période de temps ou la salle est libre

This commit is contained in:
theo@manjaro 2022-02-24 19:29:03 +01:00
parent 74955000a5
commit e5bc4fe7b8
3 changed files with 40 additions and 12 deletions

16
definitions.py Normal file
View File

@ -0,0 +1,16 @@
def intersection(l1,l2):
"""
intersection: Renvois une liste contenant les éléments communs aux deux listes
Si aucun élément n'est en commun, retourne une liste vide.
Ne supprimme pas les doublons
Arguments:
l1 : liste
l2 : liste
Résultat:
Une liste contenant tout les éléments communs
"""
result = []
for element in l1:
if element in l2:
result.append(element)
return result

View File

@ -18,8 +18,10 @@ Created on Thu Feb 24 17:14:05 2022
# Modules :
import datetime
# Fichiers locaux :
import date_tools
import rooms_get as ro
import definitions as lib
# Fonctions :
@ -42,21 +44,12 @@ def main() :
date_choice = int(input("Souhaitez-vous afficher les salles disponibles maintenant (1), où à une date précise (2) ?\n> "))
if date_choice == 1 :
date = datetime.datetime
date_d = date.today().date()
datet = date.today()
date = datetime.datetime.today()
else :
date = date_tools.date_input()
date_d = date.today().date()
datet = date.today()
hour = date.now().time().hour
minutes = date.now().time().minute
available_rooms = lib.intersection(ro.free_at(date),ro.free_at(date+datetime.timedelta(minutes=30)))
ro.sched_get(date_d)
total_rooms, used_rooms = ro.used_rooms_get(datet)
available_rooms = ro.available_rooms_get(total_rooms, used_rooms)
print("Les salles suivantes sont disponibles à " + str(hour) + ":" + str(minutes) + ", le " + str(date_d) + " :\n")
print("Les salles suivantes sont disponibles à " + str(date.hour) + ":" + str(date.minute) + ", le " + str(date.day) + " :\n")
for room in available_rooms :
print(" - " + room)

View File

@ -46,6 +46,7 @@ def sched_get(date) :
year = str(date.year)
r = requests.get("https://adecons.unistra.fr/jsp/custom/modules/plannings/anonymous_cal.jsp?resources=30626&projectId=8&calType=ical&firstDate="+year+"-"+month+"-"+day+"&lastDate="+year+"-"+month+"-"+day)
print(r.content)
return r.content
@ -112,3 +113,21 @@ def available_rooms_get(total_rooms, used_rooms) :
available_rooms.append(room)
return available_rooms
def free_at(datet):
"""
Retourne la liste des salles dispo à cette date
Parameters
----------
datet: datetime.Date
La date à laquelle se fixer
Returns
-------
available_rooms : list
Liste des salles disponibles.
"""
total,used = used_rooms_get(datet)
free = available_rooms_get(total,used)
return free