Py2 in py3 umwandeln

  • hi. Ich weiß ja nicht ob dasbhier überhaupt erlaubt ist die frage zu stellen. Aber ich frage einfach mal.

    Ich hab ein kodi 18 addon was echt sehr simpel aufgebaut ist. Das müsste von py2 in py3 konvertiert werden, das es in kodi 19 läuft. Gibt es hier vielleicht jemand der mir dabei behilflich sein könnte? Ich hab leider nicht so viel Ahnung vom programmieren und kein pc, deswegen bekomm ich das selber nicht hin. Bin für jede hilfe dankbar.

    Mfg Basti

  • Ohne Quellcode kann man wenig helfen. Wenn du den bereitstellst und es wirklich so simpel ist, finde ich in den nächsten paar Tagen sicher mal ein bisschen Zeit dafür. Falls du selber daran arbeiten willst, gibt es hier ein paar allgemeine Infos:

    General information about migration to Python 3 - Official Kodi Wiki

    und dann musst du halt noch die Änderungen der Kodi Python API berücksichtigen:

    Kodi Development: Python API v19

  • Ich würde es mit ChatGPT probieren

    So lernt man ganz sicher programmieren 😁

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Ich halte trotzdem nichts davon. Klar muss man keinen Kuchen selber backen, man kann ja auch zum Bäcker gehen. Nur danach kann man immer noch keinen Kuchen backen...

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Es ist ja so, dass man durch das Ausüben einer Tätigkeit (ob das nun Programmieren oder etwas handwerkliches ist) Skills ausbildet und trainiert. Am schnellsten lernt man aus Fehlern. Sofern das jemanden motiviert, ist das immer noch die beste Methode, um durch analytische und systematische Vorgehensweise seine Fähigkeiten zu erweitern. Aber wir schweifen hier vollkommen ab. 😁

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Ja.

    Bei den Imports oben muss

    Code
    import xbmcvfs

    Hinzugefügt werden.

    Die Zeile mit

    Code
    homepath = xbmc.TranslatePath(...

    muss ersetzt werden durch

    Code
    homepath = xbmcvfs.TranslatePath('special://home/addons/version')

    In der addon.xml ist wahrscheinlich noch die Python-Version auf 3.0.0 zu ändern, damit das Addon unter/ab Matrix lauffähig ist

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Ja, ist schon etwas seltsam gestrickt. Auch numerische Vergleiche mit Strings können in die Hose gehen. Das os._exit() beendet nur das Addon und kann auch weggelassen werden.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • das ist pracktisch ne fernabschaltung. Sone art killswitch. Ist aber für nix illigales. Hab halt für freunde und familie ne eigene kodi fork und wenn wir uns mal streiten könnte ich den zu den zugang zu dieser fork verwähren. Mehr ist das nicht ganz simpel. Aber vielleicht ist das ja nicht erlaubt das weiß ich nicht.

    Das addon überprüft halt nur ne datei wo ne zahl drin steht und wenn die hör ist als 0 kommt ne meldung aufn bildschirm die nur mit ok bestätigt werden kann und kodi sich dann schließt. Mehr ist es nicht

  • Du hast einen eigenen Kodi Fork ohne PC und ohne programmieren zu können?

    PvD anscheinend beendet sich Kodi doch komplett. War mir nicht sicher, weil os.exit normalerweise nur den Interpreter beendet aber da der in Kodi direkt läuft, wird exit auch in dessen Prozess ausgeführt.

  • Außer dem was PvD bereits genannt hat, musst du noch urllib durch urllib.request ersetzen.

    Also aus import urllib wird

    Code
    import urllib.request

    und aus url1 = urllib.urlopen(url) wird

    Code
    url1 = urllib.request.urlopen(url)

    Dann sollte es denke ich soweit funktionieren. Auch wenn sich an manchen Stellen meine Zehennägel aufrollen, wenn ich das lese...

Jetzt mitmachen!

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