bonjour @Fabrice_Barthelemy : le script ne devrait pas planter quand il n’y a pas cours le lendemain…
En tous les cas la version que j’ai écrite et publié ne plante pas
J’ai aussi fait une évolution que je n’ai pas encore publié pour gérer le cas des ENT (qui ne plante pas non plus)
J’importe tous les packages : c’est pas gênant
Et ensuite j’ai une variable que je peux dé-commenter ou pas si je passe par un ENT
Le début du script a changer donne ça :
import pronotepy
from pronotepy.ent import ac_lyon
from pronotepy.ent import ac_grenoble
from pronotepy.ent import ac_orleans_tours
from pronotepy.ent import ac_reims
from pronotepy.ent import ac_reunion
from pronotepy.ent import atrium_sud
from pronotepy.ent import ile_de_france
from pronotepy.ent import monbureaunumerique
from pronotepy.ent import occitanie_montpellier
from pronotepy.ent import paris_classe_numerique
import os
import sys
from datetime import date
from datetime import timedelta
import json
#Variables a remplacer (ou laisser comme ça pour tester la démo)
eleve="demo" #nom de votre enfant - ne sert que pour le nom du fichier json
prefix_url = "demo" # sert au prefix de l'url https://PREFIX.index-education.net/pronote/
username="demonstration" #utlisateur pronote - a remplacer par le nom d'utilisateur pronote de l'élève
password="pronotevs" # mot de passe pronote - a remplacer par le mot de passe du compte de l'élève
# IMPORTANT : CONNEXION VIA ENT OU PAS
#ent=paris_classe_numerique #ligne a décommenter et à modifier en fonction de votre ENT de votre etablissement
#Autres variable de configuration
index_note=0 #debut de la boucle des notes
limit_note=11 #nombre max de note à afficher + 1
longmax_devoir = 125 #nombre de caractère max dans la description des devoirs
#Connection à Pronote - gestion de l'URL en fonction si on se connecte via un ENT ou non
if ent:
client = pronotepy.Client('https://'+prefix_url+'.index-education.net/pronote/eleve.html', username, password, ent)
else:
client = pronotepy.Client('https://'+prefix_url+'.index-education.net/pronote/eleve.html?login=true', username, password)
Je pense que ton erreur vient d’ailleurs - elle ne serait pas lié au fait qu’il n’y a pas cours demain…mais je peux me tromper
Oui bizarre , ca a bien fonctionné toute la journée d’hier et mon dernier fichier date d’hier a 23h50 , et aujourd’hui ca passe pas , je soupçonne un problème avec l’ENT , je vais tester ton upgrade pour voir …
File "/usr/share/hassio/homeassistant/python_scripts/pronote.py", line 51, in <module>
lessons_nextday = client.lessons(date.today()+ timedelta(days = delta))
File "/usr/local/lib/python3.9/dist-packages/pronotepy/clients.py", line 332, in lessons
output.append(dataClasses.Lesson(self, lesson))
File "/usr/local/lib/python3.9/dist-packages/pronotepy/dataClasses.py", line 583, in __init__
end_place = json_dict['place'] % (len(
KeyError: 'place'
Pas de miracle , je comprend pas trop , peut-être d’autres utilisateurs de l’ENT monbureaunumerique auraient la solution ?
Bonjour @sosordinet , je suis bien preneur pour un petit coup de main sur les retards en attendant la mise à jour Github.
Est-ce qu’on récupère ces infos via la class VieScolaireClient?
J’ai vu qu’il y avait « pronotepy.dataClasses.Absence » mais il fait passer ce paramètre json_dict: dict mais je n’arrive pas bien à voir comment l’obtenir.
Si la mise à jour Github est pour bientôt, je peux aussi prendre l’option « patienter »
Ouf j’avais peur d’être le seul , ca a l’air de venir de la partie nextday , si je commente cette partie ca marche , peut être le variable delta a déclarer quelque part ?
je viens de publier une version sur Github qui gère les ENT
Je l’ai testé avec le compte de mon fils sur l’ENT : paris_classe_numerique
Mais impossible de le tester avec le compte de démo…
il faudrait un compte de demo qui est valable sur un ENT en particulier…
Oui j’ai bien ton fichier original avec les delta , mais je comprend pas d’où vient cette fichue erreur !!
J’ai testé tes ent ca fonctionne pour monbureaunumerique , bien sur pour ca je commente la partie nextday qui ne fonctionne pas chez moi et chez @Plouf34
Bonjour,
Il te suffit de copier-coller le code du PR que j’ai envoyé sur le Github de @Dathosim. En particulier le code des absences dans pronote.py qui te permettra déjà de les rapatrier dans ton JSON. Ensuite, c’est pareil qu’avec les autres, il faut créer un sensor REST, et les afficher dans un tableau → Tout est dans le PR.
C’est bien la dataClasses.Absence mais Par le Client et non par VieScolaireClient qui lui sert à se connecter avec des identifiants Vie Scolaire.
Si tu n’y arrive pas, MP
Cette solution utilise pronotepy qui vient avec (comme tu le sait très bien!) ENT. C’est pas pour rien que son développeur cherche quelqund’autre pour le maintenir … l’entretien de tous les ent pour la france c’est du travail.
Pour mes enfants jai 2 qui j’ai (re)fait moi même (agora/atrium_sud) en utilisant une copie de ent.py locale.
Conseil: soit vigilant d’entrer dans son maintenance …au moins… ne le fait pas seul.
salut, oui j’ai lue la discution de a à z, en plusieur jour, et pour etre franc j’ai pas tout compris, alors j’ai mie dans le dosier config un dossier python_script, le script qui est dans le github de dathosim.
Ce script quand il est lancé génère un fichier pronote_AAAA.json qu’il dépose dans /config/www/ de votre HA NB : AAAA est le nom de l’élève à paramétré dans le script
je ne comprend pas bien ce que je doit faire maintenant.
Je pense qu’il vaut mieux pour commencer que tu créés un dossier « python_scipt », dans lequel tu mettras un fichier « pronote.py », dans lequel tu copieras le script.
Ensuite, lance le scipt. Une fois cela fait, va vérifier dans « config/www » si un fichier pronote_demo.json est apparu.
Si oui, cela veut dire que cela fonctionne et tu n’auras qu’à changer les variables dans le script pour l’adapter à tes données.
Bien je bien ce que tu me dis c’est un peut ce que j’ai dis juste avant toi le dossier phyton script, dans le répertoire « config » parcontre comment lance t’on le script, je je trouve pas.
Dans le menu « Outils de développement », l’onglet « Services ».
Dans « service », tu tapes « Python Scripts: pronote », (tu adaptes, selon le nom de ton script) puis tu lances.
@Elekrea tu a ecrie ca plus haut dans la discution
Le script, tu le colles dans un fichier que tu créés sous: /config/python_scripts/pronote.py
Après effectivement, avec l’addon « Ssh & Web Terminal » (l’autre est moins bien je pense), tu lances la commande : python3 /config/python_scripts/pronote.py
et cela lancera le script tu as créé précédemment.
et je me retrouve avec cette erreur