Ajout d'une marge pour la période de temps ou la salle est libre
This commit is contained in:
parent
74955000a5
commit
e5bc4fe7b8
16
definitions.py
Normal file
16
definitions.py
Normal 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
|
17
main_cli.py
17
main_cli.py
@ -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)
|
||||
|
19
rooms_get.py
19
rooms_get.py
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user