[Release] Reset Watchedstate

  • Servus zusammen

    Ich habe nun auch mein erstes Add-on geschrieben und möchte euch das nicht vorenthalten.

    Die Idee dazu ist nicht auf meinem Mist gewachsen sondern war mehr oder minder eine Anfrage von @grmlrckr aus diesem Thread hier:

    Filme nach Zeit X automatisch als ungesehen markieren

    Beschreibung:

    Grundlegende Funktion ist, dass das Add-on beim Ausführen die Kodi JSON RPC abfragt. Als Ausgabe kommt eine JSON Antwort aller Filme. Dann wird in dieser Ausgabe geprüft ob ein "lastplayed"-Datum vorliegt. Damit dann entschieden werden kann ob der Gesehen-Status (der "playcount") sowie auch das "lastplayed"-Datum zurück gesetzt werden soll, wird geprüft ob der Film seit x-Tagen gesehen wurde. "x" ist dabei eine Anzahl von Tagen die frei konfiguriert werden kann.

    Settings:

    Das Add-on hat 4 Settings:

    "Aktivieren":

    Der Grund hierfür war, dass das Add-on erstmal nichts macht nachdem es installiert und blind ausgeführt wird. Es kommt ein Dialog, der dem User mitteilt, dass das Add-on nicht aktiv ist. Per default ist dieser Schalter deaktiviert und somit das Add-on inaktiv.

    "Test-Modus":

    Dieser Modus dient dazu sich einen Überblick zu verschaffen, welche Filme denn bei den vorgenommenen Einstellungen gefunden werden um dann zu entscheiden ob man das wirklich möchte oder nicht. Per Default ist dieser Schalter aktiv...auch zur Sicherheit ;)

    "Anzahl der Tage:"

    Frei konfigurierbare Anzahl von Tagen, die ein Film gesehen sein soll bevor der Status und das "lastplayed"-Datum zurück gesetzt wird. Default ist "9999"...wieder nur zur Sicherheit ;)

    "Verstecke Dialoge:"

    Wer nachher weiß, was er tut muss sich nicht von verschiedenen Dialogen belästigen lassen. Daher habe ich die Option eingebaut, dass man gewisse Dialoge nicht mehr angezeigt bekommt. Eine Liste der Filme, die zurück gesetzt wurden und auch die Meldung, dass das Script nicht aktiv ist, ist davon ausgeschlossen. Diese Dialoge werden immer angezeigt.

    Möglichkeiten zur Automatisierung

    Über den Autoexec-Service in Kodi: https://kodi.wiki/view/Autoexec_Service
    Legt man sich diesen Service an und konfiguriert seine "autoexec.py" wie folgt:

    Python
    import xbmc
    
    
    xbmc.executebuiltin('RunAddon(script.reset_watchedstate)')

    Dann kann man die Filme bei jedem Start von Kodi automatisiert zurücksetzen lassen.

    Ich habe mich bewusst dagegen entschieden das Add-on als Service zu schreiben (daher auch die Dialoge). Solche Services vergisst man leicht und dann wundert man sich ggf. warum manche Filme auf einmal nicht mehr als "gesehen" markiert sind. Auch wenn durch das Anzeigen eines Dialogs man immer wieder daran erinnert werden würde, fand ich es dennoch besser es als "Executable" zu schreiben.

    Angedachte Verbesserungen:

    Wirklich hübsch finde ich die Ausgabe noch nicht. Da muss ich nochmal ran. So ist es im Moment eher schlecht lesbar. Aber erstmal besser als nichts ;) . Wer einen heißen Tip hat...ich nehme gerne Pull-Requests entgegen oder auch einfach nur Vorschläge hier im Thread ;)

    Erledigt: Aktuell in seiner jetzigen Form ist es nur für Kodi 20 lauffähig, da ich eine Funktion mit eingebaut habe, die es in Kodi 19 noch nicht gibt. Das werde ich aber heute Nachmittag noch ändern und dann ins Git pushen.

    Wer es sich schonmal anschauen möchte und Kodi 20 verwendet, der darf das sehr gern tun:

    https://github.com/DaVukovic/script.reset_watchedstate

    Ich werde dann hier entsprechend editieren, wenn sich was am Add-on ändert.

    Release Notes:

    Version 0.0.3 :

    • Python error bzgl "build" Nummer von Kodi gefixt. Nun wird auch "20.0-APLHA1" erkannt
    • Settings angepasst, so dass Abhängigkeiten enstehen

    Version 0.0.2 :

    • Kompatibilität zu Kodi v19 und v20

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

    3 Mal editiert, zuletzt von DaVu (8. Februar 2022 um 21:00)

Jetzt mitmachen!

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