antux18
f8ff4ee9f6
Suppression de l'import de 'definitions' dans 'main_cli' Modification de l'affichage de la prochaine occupation de la salle, ou de la prochaine libération : affichage de l'heure précise plutôt que du temps en minutes restant Diverses améliorations de lisibilité du code, des commentaires, des docstrings...
76 lines
2.5 KiB
Python
76 lines
2.5 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
Created on Thu Feb 24 17:14:05 2022
|
|
|
|
@author: antoine
|
|
"""
|
|
|
|
################
|
|
### UniSquat ###
|
|
################
|
|
|
|
"""
|
|
Indique toutes les salles disponibles dans les différents départements de
|
|
l'Université de Strasbourg.
|
|
"""
|
|
|
|
|
|
# Modules :
|
|
import datetime
|
|
# Fichiers locaux :
|
|
import date_tools
|
|
import rooms_get as ro
|
|
# import definitions as lib # TODO : À quoi ça sert ?
|
|
|
|
# Globales
|
|
favorites = ["C"+str(i)+" MATH" for i in range(1,10)]+["C42-CMI"] # TODO : Ne sera pas conservé
|
|
links = [] # Liens vers les calendriers des salles des différents bâtiments de l'université
|
|
|
|
|
|
# Fonctions :
|
|
|
|
def main() :
|
|
"""
|
|
Fonction principale.
|
|
|
|
Returns
|
|
-------
|
|
None.
|
|
|
|
"""
|
|
|
|
print("~~~ UniSquat ~~~\n")
|
|
|
|
date_choice = 0
|
|
|
|
while date_choice not in (1,2) :
|
|
date_choice = int(input("Souhaitez-vous afficher les salles disponibles maintenant (1), où à une date précise (2) ?\n> "))
|
|
|
|
if date_choice == 1 : # Heure système
|
|
date = datetime.datetime.today()
|
|
else : # Heure mannuelle
|
|
date = date_tools.date_input()
|
|
available_rooms = ro.getrooms(date,links=links)
|
|
|
|
# Salles libres à la date indiquée :
|
|
print("\nLes salles suivantes sont disponibles à " + str(date.hour) + ":" + str(date.minute) + ", le " + str(date.date()) + " :\n")
|
|
for room in available_rooms.values() :
|
|
if room["name"] in favorites or len(favorites) == 0 : # TODO : Changer le comportement de ce 'if' : il faudrait afficher toutes les salles, mais d'abord les favorites
|
|
if room["free"] :
|
|
deltasec = room["occupied_at"].timestamp() - date.timestamp()
|
|
# print(" - " + room["name"]+" | occupée dans : "+str(int(deltasec/60+0.5))+" minutes")
|
|
print(" - " + room["name"] + " | occupée à : " + str(room["occupied_at"].hour) + ":" + str(room["occupied_at"].minute))
|
|
|
|
# Salles libres prochainement :
|
|
print("\nLes salles suivantes seront disponibles prochainement : \n")
|
|
for room in available_rooms.values() :
|
|
if room["name"] in favorites or len(favorites) == 0 :
|
|
if not room["free"] :
|
|
deltasec = room["free_at"].timestamp() - date.timestamp()
|
|
# print(" - " + room["name"]+" | libre dans : "+str(int(deltasec/60+0.5))+" minutes")
|
|
print(" - " + room["name"] + " | libre à : " + str(room["free_at"].hour) + ":" + str(room["free_at"].minute))
|
|
|
|
if __name__=="__main__":
|
|
main()
|