Beiträge von Lynx187

    Solange die "start" Datei (steht in der addons.xml) eine .py ist sollte auch ein Standard Kodi damit klarkommen. Beim letzten Mal ging das jedenfalls noch aber der Test ist auch schon eine Weile her.
    Architektur und Python Version müssen allerdings auch passen sonst sagt Python "Bad Magic Number".

    Bei Stackoverflow solltest du übrigens finden wie man Kodi dazu bringen könnte .pyo wie .py zu behandeln.

    Es gibt in der nightly sektion auf kodi.tv noch ältere builds für tvos, evtl ist da ein Kodi 16 dabei k.A.
    Ansonsten einfach mal ins kodi.tv forum schauen dort gibt es schon einige Threads zum ATV4.

    Ich würde jetzt auch nicht per se auschließen, dass jemand extra ein 15.2 entprechend angepasst hat und ganz normal per Sideload auf den ATV4 läd.
    Bei den Preisen die die auf ebay verlangen kann man damit ja vermutlich mal wieder ganz gut Geld machen.
    Und da sich ja ebay scheinbar nicht dran stört wenn dort Waren mit nicht ganz koscheren Features beworben werden...

    Nach dem missglückten Installationsversuch einfach mal ins [definition='1','0']log[/definition] schauen, da sollte drin stehen welche Abhängigkeit er nicht erfüllen kann.
    Dann einfach die Suchmaschine deines Vertrauens nach dieser Abhängkeit befragen. Die sollte dich dann in der Regel zu einer zip führen, welche du installieren kannst.

    PS: Manchmal reicht es auch einfach im Kodiordner die addons.db zu löschen.

    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.

    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?

    Habe eine neue Datei sogar rein kopiert die den Ordner wesentlich vergrößern sollte bekomme aber immer das selbe. Wert 4096

    Wird os.path.getsize() ist für Datein gedacht und gibt deren Größe in Byte zurück.
    Bei einem Verzeichnis gibt es die Größe der Datei zurück, die das Verzeichnis auf dem Datenträger repräsentiert. Deswegen ist die Zahl die du erhält auch immer gleich, denn dein OS repräsentiert jedes Verzeichnins unabhängig von dessen Größe auf die gleiche Weise (z.B. https://de.wikipedia.org/wiki/Inode).
    Wenn du die Größe des Inhalts wissen willst kannst du per listdir() alle Elemente im Vezeichnis erhalten. Dann für jedes Elemeten per .getsize() die Größe bestimmen und das ganze aufsummieren. (Falls es Unterverzeichinsse gibt muss man die natürlich auch noch entsprechend behandeln sonst stimmt das Ergebnis nicht so wirklich.)

    Ja geht.
    Im Prinzip kann man diesem Tutorial folgen: http://kodi.wiki/view/HOW-TO:De…ithVisualStudio
    Aber:

    • Python Tools bzw. ptvsd Version müssen passen. Also Python Tools 2.1 in Visual Studio und ptvsd 2.2 in python geht nicht.
    • "pip install ptvsd" reicht auf den meisten System nicht, denn dann ist ptvsd nur im System Python verfügbar aber nicht im Kodi Python.

      • bspw. unter Windows muss man ptvsd nach Kodi/system/python/Libs/site-packages kopieren.
    • "ptvsd.wait_for_attach" muss vermutlich "ptvsd.wait_for_attach()" heißen.

    Abgesehen davon, dass diese Art von Addons im öffentlich Forenbereich nicht besprochen werden soll...
    1. Das Addon stammt aus der englischen Community also wirst du auch nur dort die meisten Infos finden.
    2. Auch wenn Deutsch als Sprache angeboten wird und die Beschreibungen auf Deutsch sind, haben fast alle Quellen die das Addon abgefragt englische Inhalte.

    Dann könnte aber jeder einfach nachschauen wie du dein php Skript ansprichst ;)
    Wie "versionsunabhängig" die pyo und auch pyc sind weisst du ja inzwischen.
    Naja letzten Endes hat man damit dann das Schutzniveau der apk erreicht, nur das man auf die Python Version achten muss...

    Also er wäre gut wenn ich mal ein Beispiel hätte.
    Ich weiss ja nicht welche Seite du parsen willst, im Zweifelsfall sag sie mir die url per pn oder poste sie woanders.

    Du müsstes die als erstes ansehen was für code die "Blockseite" von Incapsula ausliefert. Vermutlich schön obfuskiertes JS.

    Für das weiter Vorgehen könntest du dich bei parsern für bspw. cloudflare orientieren. Da findet man ein paar auf github (z.B. https://github.com/Anorov/cloudflare-scrape).
    In meinem addon gibt es einen (k.A. ob der noch funktioniert) und im salzigen Addon von "tknorris" gibt es ebenfalls einen.

    Das Javascript so parsen ohne eineJavascriptEngine zu nutzen ist der schwierigste Part. Wie gesagt dan müsste ich erst mal selber sehen.
    Das Ergebins dann wieder aufzurufen und aus der Antwort das Cookie zu extrahieren, dazu gibts dann wieder Tutorials an jeder Ecke, oder je nach dem welche lib du nutzt geschiet das dann auch shcon automatisch.

    Den Schutz von Incapsula hab eich bisher noch nicht gesehen.
    Ich nehme mal an, dass es ähnlich läuft wie bei Cloudflare.
    Du bekommst eine Seite ausgeliefert, die ein Javascript enthält (die meisten Bots/Parser verarbeiten das nicht automatisch, Browser schon).
    Das javscript erzeugt eine Weiterleitung auf eine weitere Url.
    Dabei erhält man ein Cookie mit welchem man die eigentlich Seite besuchen kann.
    So lange man die Seite mit diesem Cookie aufruft UND das Cookie gültig ist bekommt man die richtig Seite.

    Das Prinzip hast du doch eigentlich schon benutzt in dem du ein Hauptmenu gebaut hast.
    In der Funktion Dokumentationen kannst du mit "addDir" weitere Menüpunkte anlegen die nach dem Klick auf "Dokumentationen" angezeigt werden. z.B.

    Code
    addDir("Unterkategorie1",/Unterkategorie1/,5,"")


    Du könntest dann für die Unterkategorien neue Funktionen anlegen z.B. "def Unterkategorie1():" in welchen dann per addLink die Links zu den Dokus gelistet werden. Einen zusätzlichen mode könntest du dann noch berücksichtigen über wechlchen du Unterkategorie1() aufrufst. Wenn du es so lösen willst.

    Alleding würde ich die Variante die Quelle via Datei Manager zu adden auch bevorzugen wenns das möglich sein sollte. Das ganze händisch einzutragen und dann auch noch direkt in den Quellcode, da macht man sich ja total zu Feile.