Compare commits
4 Commits
Author | SHA1 | Date |
---|---|---|
antux18 | 52f8945c2d | |
antux18 | ac15771b37 | |
antux18 | c77b166a9d | |
antux18 | b427f86d8b |
8
app.py
8
app.py
|
@ -76,7 +76,11 @@ app = Flask(__name__)
|
||||||
logs = []
|
logs = []
|
||||||
if os.path.isfile(LOG_FILE):
|
if os.path.isfile(LOG_FILE):
|
||||||
with open(LOG_FILE,"r") as f:
|
with open(LOG_FILE,"r") as f:
|
||||||
logs = json.loads(f.read())
|
try:
|
||||||
|
logs = json.loads(f.read())
|
||||||
|
# On supprime le fichier s'il est invalide :
|
||||||
|
except json.decoder.JSONDecodeError:
|
||||||
|
os.remove(LOG_FILE)
|
||||||
|
|
||||||
# Fonctions :
|
# Fonctions :
|
||||||
def save_logs(logs):
|
def save_logs(logs):
|
||||||
|
@ -300,7 +304,7 @@ def free_rooms(api = False, rq = None) :
|
||||||
if GLOBAL_CONTEXT["DEBUG"] :
|
if GLOBAL_CONTEXT["DEBUG"] :
|
||||||
print(errdetails)
|
print(errdetails)
|
||||||
return render_template("error.html",
|
return render_template("error.html",
|
||||||
error="Le serveur Unistra a rencontré une erreur ! Veuillez réessayer plus tard.")
|
error="Désolé, une erreur est survenue. UniSquat ne peut pas continuer.")
|
||||||
|
|
||||||
# Création d'un dictionnaire avec les infos des salles :
|
# Création d'un dictionnaire avec les infos des salles :
|
||||||
frooms_disp = dict() # Mise en forme des infos pour la page Web
|
frooms_disp = dict() # Mise en forme des infos pour la page Web
|
||||||
|
|
|
@ -245,16 +245,17 @@ def get_tot_rooms(datet, depts, ignore_list) :
|
||||||
margintime = 1
|
margintime = 1
|
||||||
|
|
||||||
# Récupération du calendrier de chaque département,
|
# Récupération du calendrier de chaque département,
|
||||||
# sur une période de 'margintime' mois :
|
# sur une période de 'margintime' mois.
|
||||||
|
# On choisit comme jour le 28, car tous les mois ont au moins 28 jours.
|
||||||
cals = list() # Liste des EDT des départements choisis
|
cals = list() # Liste des EDT des départements choisis
|
||||||
for d in depts :
|
for d in depts :
|
||||||
if datet.month < 12 :
|
if datet.month < 12 :
|
||||||
result = sched_get(datet, d.link,
|
result = sched_get(datet, d.link,
|
||||||
datet.replace(month = datet.month + margintime),
|
datet.replace(day = 28, month = datet.month + margintime),
|
||||||
NO_CACHE)
|
NO_CACHE)
|
||||||
else :
|
else :
|
||||||
result = sched_get(datet, d.link,
|
result = sched_get(datet, d.link,
|
||||||
datet.replace(month = 1, year = datet.year + 1),
|
datet.replace(day = 28, month = 1, year = datet.year + 1),
|
||||||
NO_CACHE)
|
NO_CACHE)
|
||||||
# # Utilisation du module 'ics' pour le tri du calendrier dans l'ordre
|
# # Utilisation du module 'ics' pour le tri du calendrier dans l'ordre
|
||||||
# # chronologique :
|
# # chronologique :
|
||||||
|
|
|
@ -9,29 +9,30 @@ body {
|
||||||
background: var(--bg);
|
background: var(--bg);
|
||||||
color: var(--fg);
|
color: var(--fg);
|
||||||
font-family: "ubuntu", sans-serif;
|
font-family: "ubuntu", sans-serif;
|
||||||
margin: 0px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
h1, h2 {
|
h1, h2 {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 6vh;
|
font-size: 5vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 5vh;
|
font-size: 4vh;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
margin-bottom: 8vh;
|
/* margin-bottom: 8vh; */
|
||||||
}
|
}
|
||||||
|
|
||||||
.slider { overflow: hidden;
|
/* .slider {
|
||||||
}
|
overflow: hidden;
|
||||||
|
} */
|
||||||
|
|
||||||
.slide-track {
|
.slide-track {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 3vw;
|
justify-content: space-evenly;
|
||||||
animation: scroll 40s linear infinite;
|
gap: 2vw;
|
||||||
width: 3000vh; /* Pas bô, mais on va faire avec en attendant... */
|
/* animation: scroll 40s linear infinite; */
|
||||||
|
/* width: 3000vh; Pas bô, mais on va faire avec en attendant... */
|
||||||
}
|
}
|
||||||
|
|
||||||
.room {
|
.room {
|
||||||
|
@ -42,26 +43,26 @@ h2 {
|
||||||
border-color: var(--bg-dark);
|
border-color: var(--bg-dark);
|
||||||
border-radius: 3vw;
|
border-radius: 3vw;
|
||||||
padding: 1vw;
|
padding: 1vw;
|
||||||
height: 17vh;
|
height: 10vh;
|
||||||
color: var(--bg);
|
color: var(--bg);
|
||||||
font-size: 8vh;
|
font-size: 5vh;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes scroll {
|
/* @keyframes scroll {
|
||||||
0% { transform: translateX(0); }
|
0% { transform: translateX(0); }
|
||||||
100% { transform: translateX(calc(-25vw * 7)); }
|
100% { transform: translateX(calc(-25vw * 7)); }
|
||||||
}
|
} */
|
||||||
|
|
||||||
.details {
|
.details {
|
||||||
margin: 1vh;
|
margin: 1vh;
|
||||||
font-size: 6vh;
|
font-size: 4vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
margin-top: 8vh;
|
margin-top: 5vh;
|
||||||
font-size: 3vh;
|
font-size: 3vh;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,19 +13,16 @@
|
||||||
<div class="slide-track">
|
<div class="slide-track">
|
||||||
{% if favs: %}
|
{% if favs: %}
|
||||||
<!-- Afficher les favoris -->
|
<!-- Afficher les favoris -->
|
||||||
<!-- Deux fois pour que l'animation boucle -->
|
{% if favs_free_rooms|length > 0 : %}
|
||||||
{% for i in range(2) : %}
|
{% for room in favs_free_rooms : %}
|
||||||
{% if favs_free_rooms|length > 0 : %}
|
<div class="room">
|
||||||
{% for room in favs_free_rooms : %}
|
<b>{{ room.name }}</b> {% if DEBUG :%}( {{ room.id }} ){% endif %}
|
||||||
<div class="room">
|
{% if not(room.noend) : %}
|
||||||
<b>{{ room.name }}</b> {% if DEBUG :%}( {{ room.id }} ){% endif %}
|
<p class=details>Jusqu'à {{ frooms_disp[room.name]["end"] }}</p>
|
||||||
{% if not(room.noend) : %}
|
{% endif %}
|
||||||
<p class=details>Jusqu'à {{ frooms_disp[room.name]["end"] }}</p>
|
</div>
|
||||||
{% endif %}
|
{% endfor %}
|
||||||
</div>
|
{% endif %}
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<!-- Si les favoris ne sont pas définis, afficher les salles classiques -->
|
<!-- Si les favoris ne sont pas définis, afficher les salles classiques -->
|
||||||
{% for i in range(2):%}
|
{% for i in range(2):%}
|
||||||
|
|
Loading…
Reference in New Issue