Pronote dans HA - les notes, devoirs, absences et emploi du temps des enfants

J’ai trouvé un autre souci (je ne sais pas si ça dépend de la façon de faire du prof ?) quand il y a un cours qui change de salle, alors on a une annulation, puis le même cours à la même heure.
On a donc 2 fois le même cours dans lovelace, une fois annulé, une fois avec le changement de salle.

J’ai modifié le script avec un tableau lessonsToBeRemoved pour stocker des index à supprimer, et une boucle à la fin pour les supprimer.
Je n’ai pas réussi à supprimer directement dans le for car les index se décalent, et si pas de chance, on a 2 cours à la suite qui change de salle, ça coince.

jsondata['edt_aujourdhui'] = []
    jsondata['edt_aujourdhui_debut'] = ""
    lessonsToBeRemoved = [];
    for lesson in lessons_today:
        index=lessons_today.index(lesson)
        if not (lesson.start == lessons_today[index-1].start and lesson.canceled == True) :        
            jsondata['edt_aujourdhui'].append({
                'id': lesson.id,
                'date_heure': lesson.start.strftime("%d/%m/%Y, %H:%M"),
                'date': lesson.start.strftime("%d/%m/%Y"),
                'heure': lesson.start.strftime("%H:%M"),
                'heure_fin': lesson.end.strftime("%H:%M"),
                'cours': lesson.subject.name,
                'salle': lesson.classroom,
                'annulation': lesson.canceled,
                'status': lesson.status,
                'background_color': lesson.background_color,
        })
        if lesson.canceled == False and lessons_today[index-1].canceled == True and lessons_today[index].start == lessons_today[index-1].start :
            lessonsToBeRemoved.append(index-1);
        if lesson.canceled == False and jsondata['edt_aujourdhui_debut'] == '' :
            jsondata['edt_aujourdhui_debut'] = lesson.start.strftime("%H:%M")

    for lesson in lessonsToBeRemoved:
        index=lessonsToBeRemoved.index(lesson)
        del jsondata['edt_aujourdhui'][index]

Maintenir ou modifier ENT.py c’est pas toujours facile.
l’ent est la pour creer des cookies en utilisant le cas (autre site web), ent.py cherche/utilise des champs specifique pour nom/mpd qui est différent par CAS. Sans données de test, c’est pas facile d’ajouter d’autres CAS sauf quand on l’analyse si pareil a un CAS existant dans ent.py.
Bain (dev. d’origine) l’a crée mais il n’a plus de temps pour gérer alors il faut le faire soit même…

Je peut essayer t’aider mais sans garanti, mieux que to me contacte sur discord

Bonjour
j’ai discuté avec le développeur
il m’a fait essayer ce bout de code

import pronotepy
from pronotepy.ent import ac_rennes

client = pronotepy.Client('https://xxxxxxx.pronote.toutatice.fr/pronote/eleve.html',
                          username='username',
                          password='password',
                          ent=ac_rennes)
# check if sucessfully logged in
if client.logged_in: 
    print("Log in") 

résultat
pronote
ensuite il a repris son code et maintenant

Dont vous avez contacté Bain? Et oui … on peut essaier et de temps en temps ça marche mais les CAS ont evolués aussi (comme chez moi dans les 06 avec 2 CAS différents).

salut, tu a modifie sur le script dans github?

Bon il y a eut des modife sur le github de bain, a cause de ca le script de Dathosim ne fonctionne plus.

Non, désolé @titof2375
le script fonctionne toujours ! je viens de mettre a jour la lib pronotepy sur mon installation
(via la commande pip install --upgrade pronotepy) et je relance le script : tout fonctionne toujours !
Ce n’est pas la cause de ton erreur : désolé :frowning:

je suis desolée
ezsdfzefez

il on chagée le mode d’intentification

salut, je vien de discute avec la personne qui aide bain , il a trouve un probleme pour les ent s

@titof2375 : ok !
Mais le problème est-il général à tous les ent ?
Ou certains ent sont concernés ?
En fait, si on peut avoir un peu de détails svp ?
Nb : qui est le “dev qui aide bain”

Salut je ne peut pas te le dire

idem
pronote 3

3 messages ont été fusionnés à un sujet existant : Organisation du fichier configuration.yaml

Bonjour,

me revoici , j’avais réussi a tout faire fonctionner il y a quelques temps grâce a vous , . Entre temps , j’ai fait une maj de ma config et installé un module eMMC sur mon N2 et suis reparti d’une installation fraiche .
Cependant , quand je réitère l’experience d’intégration de pronote , j’ai une nouvelle erreur au lancement du script …

python3 /config/python_scripts/pronote.py
Traceback (most recent call last):
  File "/config/python_scripts/pronote.py", line 227, in <module>
    absences = client.current_period.absences()
TypeError: 'list' object is not callable

Je suis HassOs,
J’ai ceci dans les paramètres du terminal ,

init_commands:
  - apk add build-base
  - apk add py3-wheel

et j’ai même essaye l’import en local des paquets pycryptodome-3.14.0.dist-info et pronotepy

import sys
sys.path.append("/config/python_scripts/local-packages")

J’arrive pas a voir ou je fais l’erreur .

alors si j’enleve toute la partie absence et evaluation du pronote.py, a partie de la ligne 117, cela genere bien le Json .

Ha, je crois qu’il y a une parenthèse a enlevé, les je ne sais plus où vous exactement

il faut enlever les ()

Merci a tous , ça remarche nickel

1 « J'aime »