Ajout d'une marge pour la période de temps ou la salle est libre
This commit is contained in:
parent
74955000a5
commit
e5bc4fe7b8
|
@ -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
|
17
main_cli.py
17
main_cli.py
|
@ -18,8 +18,10 @@ Created on Thu Feb 24 17:14:05 2022
|
||||||
|
|
||||||
# Modules :
|
# Modules :
|
||||||
import datetime
|
import datetime
|
||||||
|
# Fichiers locaux :
|
||||||
import date_tools
|
import date_tools
|
||||||
import rooms_get as ro
|
import rooms_get as ro
|
||||||
|
import definitions as lib
|
||||||
|
|
||||||
|
|
||||||
# Fonctions :
|
# 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> "))
|
date_choice = int(input("Souhaitez-vous afficher les salles disponibles maintenant (1), où à une date précise (2) ?\n> "))
|
||||||
|
|
||||||
if date_choice == 1 :
|
if date_choice == 1 :
|
||||||
date = datetime.datetime
|
date = datetime.datetime.today()
|
||||||
date_d = date.today().date()
|
|
||||||
datet = date.today()
|
|
||||||
else :
|
else :
|
||||||
date = date_tools.date_input()
|
date = date_tools.date_input()
|
||||||
date_d = date.today().date()
|
|
||||||
datet = date.today()
|
|
||||||
|
|
||||||
hour = date.now().time().hour
|
available_rooms = lib.intersection(ro.free_at(date),ro.free_at(date+datetime.timedelta(minutes=30)))
|
||||||
minutes = date.now().time().minute
|
|
||||||
|
|
||||||
ro.sched_get(date_d)
|
print("Les salles suivantes sont disponibles à " + str(date.hour) + ":" + str(date.minute) + ", le " + str(date.day) + " :\n")
|
||||||
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")
|
|
||||||
for room in available_rooms :
|
for room in available_rooms :
|
||||||
print(" - " + room)
|
print(" - " + room)
|
||||||
|
|
19
rooms_get.py
19
rooms_get.py
|
@ -46,6 +46,7 @@ def sched_get(date) :
|
||||||
year = str(date.year)
|
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)
|
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
|
return r.content
|
||||||
|
|
||||||
|
@ -112,3 +113,21 @@ def available_rooms_get(total_rooms, used_rooms) :
|
||||||
available_rooms.append(room)
|
available_rooms.append(room)
|
||||||
|
|
||||||
return available_rooms
|
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
|
||||||
|
|
Loading…
Reference in New Issue