Le code imposait l'utilisation d'un objet http.cookiejar.CookieJar, ce qui limite les possibilités.
Je ne prends donc plus en charge la vérification du type car on peut utiliser ce qu'on veut (surtout si on veut enregistrer les cookies dans un fichier), une erreur sera retournée par le requêteur si l'objet utilisé pour les cookies n'est pas compatible avec un objet http.cookiejar.CookieJar.
J'ai ajouté une classe qui permet de stocker et restituer le contenu des données des capteurs pour une minute. Cette classe met automatiquement à jour à la prochaine requête sur les données à l'expiration de la durée de vie du cache.
Beaucoup de code inutile et mal organisé enlevé et réadapté.
J'ai aussi changé la façon de lire les états des accessoires en prévision de nouveau accessoires que je me suis procuré.
En marge, j'ai également traduit les commentaires en français.
Python2:
- Added the Common.get_xml_elements () for multiple usage of this routine
- Added HomeSFR.do_autologin () to trigger the autologin
- Removed autologin code in methods which have it
- Added HomeSFR.get_logs () method
Python3:
- Added the Common.get_xml_elements () for multiple usage of this routine
- Added HomeSFR.do_autologin () to trigger the autologin
- Removed autologin code in methods which have it
- Added HomeSFR.get_logs () method
Python2:
- Adding Common class for common ressources
- Inheritance from Common to HomeSFR and Sensors (and it's inherited class Camera)
- Adding the Sensors.get_mac () method
- Adding the Camera.get_snapshot () method
- Addind str2bytes () function for Python3 code compatibility (this library and the Python3 ones are quite identical)
Python3:
- Adding Common class for common ressources
- Inheritance from Common to HomeSFR and Sensors (and it's inherited class Camera)
- Adding the Sensors.get_mac () method
- Adding the Camera.get_snapshot () method
- Addind str2bytes () function for Python2 code compatibility (this library and the Python2 ones are quite identical)
- Changing all "readall" to "read", the method "readall" does not seem to exist in Python2, from what I tested, there's no problem with it
Python2:
- Added HomeSFR.logout () method to logout from service
- moved HomeSFR.get_cookies () method in the HomeSFR class
Python3:
- Added HomeSFR.logout () method to logout from service
- moved HomeSFR.get_cookies () method in the HomeSFR class
Python2:
- Added author
- Added Sensor class
- Added HomeSFR class
- Corrected date error for cameras (datetime.datetime.strptime does not understand '0000-00-00 00:00:00')
- Added encoding error TODO
Python3:
- Changed __name__
- Remove import of datetime.timezone
- Corrected date error for cameras (datetime.datetime.strptime does not understand '0000-00-00 00:00:00')
Python3:
- Added cookies import and export
- Changed HomeSFR.login () behavior if there's no username and password
- Changed HomeSFR.__str__ () if there's no username
- Added HomeSFR.get_cookies ()
- Set autologin always to False is there no credential to use
Python3:
- Changed description of HomeSFR.get_sensors ()
- Changed description of HomeSFR.get_all_sensors ()
- Changed type of return of HomeSFR.get_all_sensors (), it was a list and the doc said it was a tuple
- Changed structure to allow other languages
- Added Python2's file to ignore in .gitignore
- Changed README with a language-free text
Python2:
- Added initial file with top
Python3:
- Added Sensor class for better reading of values
- Changed return of HomeSFR.get_sensor () method