value aus settings.xml in Variable

  • Hallo Nerds,

    ich weiss nicht ob ich den Wald vor lauter Bäumen nicht sehe oder einfach zu blöd dazu bin. Ich habe eine settings.xml Datei, die zum Beispiel wie folgt aussieht

    XML
    <settings>
        <setting id="available" value="true" />
        <setting id="password" value="testpw" />
        <setting id="port" value="1234" />
        <setting id="server" value="test.server.com" />
        <setting id="user" value="testuser" />
    </settings>

    Jetzt möchte ich mittels python eine Textdatei erstellen, die die values aus der settings.xml bezieht, sie sollte wie folgt aussehen.

    Code
    server = test.server.com:1234
    user = testuser
    password = testpw

    Das kann doch eigentlich nicht so schwer sein, aber ich bekomme es einfach nicht hin. Ich sollte dazu sagen das ich absoluter Neuling und ich einfach nur verstehen möchte wie das funktioniert. Das erstellen einer Datei sollte kein Problem sein, ich bekomme es nur einfach nicht hin die values als Variable zu laden.


    ich habe einiges über den Befehl xbmc.getSettings gelesen, allerdings habe ich keine Idee wie ich diesen hier anwenden könnte. Könnt Ihr mir helfen?


    Gruss Thiel

  • Soll das ein script innerhalb von Kodi sein oder nur ein script von der console aus z.B. in Windows oder Linux?

    Wenn das aus Kodi herraus sein soll, dann musst Du erstmal das Grundgerüst aufbauen, damit Kodi ein script (plugin) auch laden und ausführen kann.

    Mein Heimkino

    Externer Inhalt www.speedtest.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
  • Es soll eine python Datei sein die aus aus einem Kodiplugin aufgerufen wird, die Struktur besteht und funktioniert auch, ich will sie jetzt nur um diese Datei erweitern und aus dem plugin per

    XML
    <setting label="1007" type="action" action="RunScript(/usr/share/kodi/addons/service.testaddon/src/write_file.py)"/>

    aufrufen.

  • Code
    import xbmcaddon
    
    
    server = xbmcaddon.Addon().getSetting('server')
    user = xbmcaddon.Addon().getSetting('user')
    passwd = xbmcaddon.Addon().getSetting('password')
    # usw.

    Zu beachten ist, das Python ausserhalb der Kodi-Laufzeitumgebung die Module xbmc, xbmcaddon, xbmcgui usw. nicht kennt.

    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

  • Hallo,

    ich danke euch beiden @DaVu und @BJ1. Beide wege funktionieren, wobei den Vorschlag von @BJ1 eleganter finde. Für alle die es auch interessiert, so habe ich die Variable erstellt

    Python
    import xbmcaddon
    SERVER = xbmcaddon.Addon('ADDON ID AUS ADDON.XML').getSetting('ID AUS SETTINGS.XML')


    und so mit der Variable die Textdatei erstellt. Texte vor der Varible müssen in ' TEXT ' geschrieben verden und das '/n' bedeutet einen Zeilenumbruch.


    Python
    file = open('PFAD/DATEI.ERWEITERUNG', 'w')
    file.write('server = ' + SERVER + '\n')
    file.close()


    Ich wünsche noch einen schönen Abend.

Jetzt mitmachen!

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