dathosim / Pronote2Homeassistant

Tuto et bout de code pour ajouter des éléments de Pronote dans Home assistant
Apache License 2.0
40 stars 20 forks source link

Erreur avec config 2 enfants #22

Closed cob94440 closed 1 year ago

cob94440 commented 2 years ago

Bonjour, J'ai une erreur en lançant le pronote.py

Traceback (most recent call last):
  File "/usr/share/hassio/homeassistant/python_script/pronote.py", line 273, in <module>
    absences = sorted(absences, key=lambda absence: absence.from_date, reverse=True)
TypeError: 'method' object is not iterable

Dans le config.i,i j'ai mis les infos de connexion de mon premier enfant dans defaut. Dans la partie enfant 1 j'ai mis les infos de mon second enfant en précisant ent = il_de_france La partie enfant 2 reste par défaut.

Je lance depuis le repertoire où sont les deux fichiers en root python 3 pronote.py et pronote.py enfant1 mais la même erreur dans les deux cas et les fichiers json ne sont pas créés. Une idée?

cob94440 commented 2 years ago

Si je commente toute la partie absences :

#    absences = client.current_period.absences
#    absences = sorted(absences, key=lambda absence: absence.from_date, reverse=True)

    #Transformation des absences en Json
#    jsondata['absence'] = []
    #for period in absences:
    #    for absence in period():
#    for absence in absences:    
#            jsondata['absence'].append({            
#                'id': absence.id,
#                'date_debut': absence.from_date.strftime("%d/%m/%y %H:%M"),
#                'date_debut_format': absence.from_date.strftime("Le %d %b à %H:%M"),
#                'date_fin': absence.to_date.strftime("%d/%m/%y %H:%M"),
#                'justifie': absence.justified,
#                'nb_heures': absence.hours,
#                'nb_jours': absence.days,
#                'raison': str(absence.reasons)[2:-2],        
#            })

Je n'ai plus l'erreur et les json sont bien créés

cob94440 commented 2 years ago

Trouvé à priori ligne 272 tu as : absences = client.current_period.absences Auparavant c'était : absences = client.current_period.absences() Là ça fonctionne

pelrol commented 2 years ago

Hello, Il faut mettre à jour la librairie pronotepy

dathosim commented 1 year ago

corrigé