Python Script schreiben

  • Hallo, es gibt mal wieder eine Idee welche ich mit Kodi umsetzen möchte.
    Ich bin nicht wirklich vertraut mit Python und Scripte schreiben, aber ich weiß prinzipell um was es geht.
    Ich hoffe es findet sich hier jemand der mir beim Script schreiben helfen kann.

    Was möchte ich erreichen bzw. was soll das Script machen.........ich habe vieles mit der autoexec.py bisher realisiert, ich würde gern da anknüpfen wenn das irgendwie machbar ist.
    In dieser autoexec.py kann man ja tolle Dinge tun "bevor" Kodi überhaupt los läuft.

    Also mein Vorhaben / was soll passieren:
    1. durchsuche 2 (wichtig Zwei) Ordner nach Videos, wobei Format, Name usw. nicht bekannt sind. also einfach nach Videos suchen
    2. irgenwie merken was gefunden wurde und in welchem Ordner
    3. schreibe in eine Playlist die gefundenen Videos, IMMER im wechsel aus einem Ordner......
    Beispiel : im Ordner A1 wurden 5 Videos gefunden, im Ordner A2 wurden 2 Videos gefunden......sollte die Playlist so aussehen
    erster Playlisteintrag 1. Video aus Ordner A1
    zweiter Playlisteintrag 1.Video aus Ordner A2
    dritter Playlisteintrag 2.Video aus Ordner A1
    vierter Playlisteintrag 2.Video aus Ordner A2
    fünfter Playlisteintrag 3.Video aus Ordner A1
    sechster Playlisteintrag 1.Video aus Ordner A2 -------(da ja nur 2 vorhanden sind)
    siebter Playlisteintrag 4.Video aus Ordner A1
    achter Playlisteintrag 2.Video aus Ordner A2
    neunter Playlisteintrag 5.Video aus Ordner A1
    zehnter Playlisteintrag 1.Video aus Ordner A2

    also eigentlich soll letzendlich immer 1 Video im wechsel aus je einem Ordner abgespielt werden

    ja und danach einfach die erstellte Playlist unendlich/repeat abspielen-----> das weiß ich schon wie das geht !

    Also ein Script was mir beim Booten eine Playlist schreibt mit den gefunden Videos aus 2 Ordnern.

    Wo bzw. wie kann ich ansetzen?

    Danke Heiko

  • Das script würde bei mir ne Weile Dauern, da ich auch nicht soo fit bin. Dennoch hierzu, zum Verständnis, eine kleine Anmerkung

    In dieser autoexec.py kann man ja tolle Dinge tun "bevor" Kodi überhaupt los läuft.

    Die autoexec.py läuft direkt "nachdem" Kodi gestartet wurde. Das ist schon nicht so ganz unwichtig. In der autoexec.py können xmbc-Module implementiert und genutzt werden, die bei Python auf Betriebssystem-Ebene (also bevor Kodi gestartet wurde) nicht zur Verfügung stehen.

  • OK, über die Fachliche Richtigkeit, wann / wie was gestartet wird weiß ich nichts !

    ich habe mit dieser autoexec.py bisher quasi Autostarts von Slideshows usw. gemacht, ich denke wenn man vorher die Playlist erstellen lässt das es irgendwie geht

  • Wo bzw. wie kann ich ansetzen?

    Verzeichnisse lassen sich in Python gut mit dem glob-Modul durchsuchen - so könnte man anfangen:

    Code
    import glob
    directory="Pfad zu einem Verzeichnis"
    globFiles = '%s/*' % directory
    files = glob.glob(globFiles)
    for f in files:
      ..  # vergleiche Datei mit gesuchten Videos
      ..  # falls positive, speichere in einer Liste
    
    
    # verarbeite die Liste zur Playlist

    /R

  • unschöne und ungetestet, aber so in der art sollte es funktionieren

  • Danke für die Vörschläge !
    Das mit dem xbmc kapier ich nicht, das kann ich nicht so einfach testen in einer SSH, da bin ich zu blöd dazu.
    das muss irgendwie "innerhalb" laufen, kein Plan, so einfach in einer SSH eingeben....python blabla.py geht nicht.

    Ich habe das so in der Art mit import os gemacht, funktioniert erstmal, sicherlich nicht elegant aber naja.
    Ich muss mich mehr mit dem Thema beschäftigen !

    meine Idee, 1 Zähler für Ordner1 immer ungerade, 1 Zähler für Ordner2 immer gerade, das in ein array (ja das heißt in python anders) an den entsprechenden Index, danach ab in die PlayList Datei
    es darf geschmunzelt werden


    Grüße Heiko

  • ja das script kann man nur testen wenn es aus kodi ausgeführt wird, da es module von kodi benötigt, wie DaVu schreibt mit der autoexec.py.

    Wenn du module von kodi benötigt ist es am einfachsten das script über eine taste auszuführen zum testen.

    in userdata/keymaps/[definition=10,0][definition='3','0']keymap[/definition][/definition].xml z.B.

    Code
    <[definition='3','0']keymap[/definition]>
       <global>
           <keyboard>
               <F12>RunScript("/home/pi/test.py")</F12>
           </keyboard>
       </global>
    </[definition='3','0']keymap[/definition]>


    Wenn du es ohne xbmc Module gemacht hast, erstellt du eine externe Datei als playlist ?

  • Dann brauchst du kein Python. Das geht dann auch mit der Bash unter Linux und die autoexec.py könnte dann dazu benutzt werden, das Bash-Script bei jedem Start von Kodi zu triggern. Somit bist du nicht von Kodi-Funktionen abhängig.

    Beides hat aber einen gewissen Lerneffekt ;)

  • Lernen ist immer gut.....ich bemühe mich [bd]

    also, mein gebasteltes Script/Dings/Etwas funktioniert, zwei Optimierungen bräuchte ich bitte noch !


    in Ordner 1 sind IMMER mehr Files, also müsste die 2.for Sektion irgenwie wiederholt werden zum auffüllen, das in der PlayList am Ende die gleiche Anzahl an Files immer im Wechsel steht.

  • Du must schauen alles in eine Schleife zu packen.


    Du brauchst auch nicht alle Dateien in einer Liste zusammenzufassen, du kannst die direkt schreiben.

    Gibt es in Video oder picture noch weitere Ordner oder sind hier immer direkt die Dateien ?

    Wenn es keine Ordner gibt kannst du auch eine Schleife oder while über files1 machen


    Das Print mit in Datei schrieben ersetzen und es sollte klappen.

    Hab es nicht getestet und kann Fehler enthalten, bin nur am Handy.

Jetzt mitmachen!

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