UniSquat_Python/main_cli.py

76 lines
2.5 KiB
Python
Raw Normal View History

#!/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 ?
2022-02-25 11:31:35 +01:00
# 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é
2022-02-25 11:31:35 +01:00
# 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()
2022-02-25 15:19:14 +01:00
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()