Sleekxmpp

  • Hallo, Ich dachte ich frage mal hier auch vileicht hat ja jemand ne Idee
    Ich versuch zur Zeit an dem Logtech Plugin, komm momentan nicht weiter.
    Die Api nutzt das Sleekxmpp python Modul.

    Bin jetzt soweit das ich stück Code habe was unter shell als Script Funktioniert in Kodi nicht
    Ich vermute ne Python Versions konflikt. Vileicht hat ja jemand ne Idee

    Ersten Fehler konte ich beheben

    Hab cert.py from Sleekxmpp geändert von


    Code
    datetime.strptime('1970-01-01 12:00:00', "%Y-%m-%d %H:%M:%S")


    Auf

    Code
    datetime.strptime('1970-01-01 12:00:00', "%Y-%m-%d %H:%M:%S")
    except TypeError:
    datetime(*(time.strptime('1970-01-01 12:00:00', "%Y-%m-%d %H:%M:%S")[0:6]))

    Jetzt ist mein Problem das er bei
    process(block=True)
    Hängt genauer unentlich loopt in
    def _process(self):

    scheinbar das er immer wieder in self.reconnect()
    reinläuft

    Dachte mal ich frag mal vileicht hat ja jemand ne Idee

    Die SleekXMPP mailingliste ist leider sehr inaktiv. :?:

  • Hm, ok ich habe keinen Harmony Hub kann deshalb nicht selbst herumprobieren (oder kann man irgendwo nur die Hub Serversoftware bekommen?)
    Wie weit "kommt" der Code unter Kodi denn, hast du da mal ein debug [definition='1','0']log[/definition], klappt das "token swappen"?
    Welche Python Version hast du denn unter Kodi und welche auf der Shell?

  • @Lynx187

    Hab Kodi 15

    "Kodi comes with Python 2, version 2.6 or higher depending on platform.
    "

    Scheinbar wird mit Kodi 17 2.7 Kommen
    Aber das ist ja noch ne weile Hin


    Im OS ist:
    2.7 und 3.4 sind instaliert
    genutzt wird aber 2.7
    lrwxrwxrwx 1 root root 9 Feb 19 2015 /usr/bin/python -> python2.7


    Fehler Analyse

    client = harmony_client.create_and_connect_client(ip, 5222, session_token) (Hängt)

    Das hängt in:
    resources/lib/pyharmony/harmony/auth.py

    Funktion
    def swap_auth_token(ip_address, port, token):

    Zeile:
    login_client.process(block=True)


    Tiefste Ebene ist dan:


    /sleekxmpp/xmlstream/xmlstream.py


    Hängt


    Er kommt dan in die Funtkion
    def _process(self):

    Dort loopt er unentlich

  • 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.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!