Add proper responses to all functions #15
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/return_codes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Previously, after a login attempt, you had to send a command which requires authentication before you got any feedback if the login was successful or not.
The reason for this was that
send()
didn't parse the response of a subsequent notification event.It could also happen that the plug did not respond to a request at all. Therefore we now propagate the success/error in form of a boolean back to the caller from all functions. In addition, login or password change requests set a newly introduced property called
authenticated
indicating if the object is already authenticated against the real hardware.just a minor cleanup btw
Nur eine kleine Frage
@ -69,2 +70,3 @@
msg = self.BTLEMessage(self, cmd, payload)
msg.send()
success = msg.send()
self.authenticated = self.authenticated and success
Meinten Sie:
or
stattand
?So kann man
authenticated
nur auftrue
setzen, wenn es schontrue
ist :DGibt es weiter unten nochmal.
Tatsächlich ist das so beabsichtigt weil der response handler weiter unten in
self.__btle_device.authenticated = not data[4]
authenticated
auftrue
setzt. Das passiert nach demmsg.send()
. Beides muss erfolgreich sein damit man auch wirklich eingeloggt ist. Denn failedmsg.send()
kam die Nachricht nie an, setzt der response handlerself.authenticated
aufFalse
war der Pin falsch.und ich hab mich dazu entschlossen hier den Status von
msg.send()
zurück zu geben damit das alles konsistent ist. Der caller vonlogin()
kann dann nochmal die Funktion callen fallsFalse
zurück kam bzw. den User informieren der Pin sei falsch wenn zwarlogin()
True
zurück gibt danach aber immer nochsocket.authenticated == False
istAh, alles klar. Danke für die Erklärung. Trotzdem wäre ein kurzer Kommentar wohl hilfreich für zukünftige Leser des Codes :)