Etwas genauer wäre besser (sys.version). Benutzt du also auf deiner Shell 2.7.x und bei deinem Kodi gehst du davon aus das es ein 2.6.x ist, demnach müsste dann sowas wie OSX als BS nutzen?
Ok also diese Zeile wird nicht mehr ausgeführt: ?
client = harmony_client.create_and_connect_client(ip, 5222, session_token) (Zeile 83 in deiner default.py)
Zeile 81 müsste starten aber wegen der Schleife keinen Wert mehr liefern?
session_token = auth.swap_auth_token(ip, 5222, token)
Die Schleife in XMLStream._process() soll vermutlich eigentlich duch SwapAuthToken.session_start beendet werden. Dort ist ein disconnect() enthalten.
Dazu muss aber auch ein 'session_start' event erkannt werden.
Dazu müsste man mal testen ob SwapAuthToken.session_start tatsächlich mal ausgeführt wird.
Wenn nicht, wo auf dem Weg hängt es? D.h. unter anderem in welcher Schleife von XMLStream._process() steckt er tatsächlich fest, (connect teil oder sende/empfangs teil).
Wenn xml Code empfangen wird, ist dort ein 'session_start' enthalten?
Da tls, und ssl nicht genutzt werden gehe ich mal nicht davon aus dass man eine möglichst neue 2.7.x braucht.
Ich habe zwar bis auf die "datetime" Sachen nichts gesehen was von der locale abhängt (zumindest nichts von dem ich weiss dass es davon abhängt), aber du könnetest mal schauen ob locale.getlocale() unter Kodi und in der Shell unterschiedlich ist.