Kodi Datenbank wird nicht richtig bereinigt

  • Hi.

    Danke für die Anregungen und Tests. Viel Zeit habe ich heute nicht. Gleich muss ich zur Krankengymnastik und heute Nachmittag zur Arbeit. Die Sache mit dem Single File Export muss ich unbedingt mal ausprobieren. Vielleicht komme ich so einfacher an die Playcounts als direkt aus der DB.

    Doppelte Einträge sind mir mit der aktuellen Kodi Version 21.1 auch noch nicht passiert. Meine "richtige" DB ist allerdings erheblich älter als Kodi 21. In sofern vermute ich, das es sich um einen Bug in einer alten Kodi Version gehandelt hat, der inzwischen gefixt wurde. War mir bisher nur noch nicht aufgefallen, da ich in der Regel nicht direkt in der Datenbank herum stochere.

    -------------------------------------
    Danke fürs lesen, Claus

  • Also ich hab inzwischen mal die Kodi DB als eine große XML Datei ausgeben lassen. Sind über 300 Megabyte, für eine reine Text Datei schon ganz ordentlich groß. Aber um die DB zu entschlacken müsste es tatsächlich reichen, die exportierte DB wieder in eine bis dato leere DB einzulesen. Ich würde nur die Playcounts der nicht kategorisierten Videos verlieren. Dafür ist ohnehin keine schnelle Lösung in Sicht.

    Um die Playcounts für Serien und Spielfilme zu ermitteln, könnte man die Datei wohl mit einem XML Parser verwenden. Es steht alles Relevante drin. Bei anderen Sachen funktioniert das aber nicht. Nicht kategorisierte Videos stehen erst gar nicht drin und Musikvideos haben (zumindest bei mir) keine eindeutige ID.

    Es wäre ja zu schön, wenn man über den Dateinamen gehen könnte, dann müsste man nur eine Abfrage in der Tabelle "files" machen. Nur leider ist der Dateiname nicht eindeutig. Ich habe z.B. ganze 17 mal die Datei "S01E01 - Episode 1.mkv", bei "S01E01 - Pilot.mkv" sind es "nur" 15 verschiedene Exemplare mit identischen Dateinamen. Derartige Fälle gibt es unzählige.

    Der Pfad sollte eigentlich nicht damit verknüpft sein, denn sonst kann man nichts mehr umstellen. Bei Filmen und Serien kann man das über die UniqueID (TVDB/IMDB) unterscheiden. Die "sonstigen" Videos werde ich wohl trotzdem über den Pfad auseinander halten müssen, weil es keine andere eindeutige Unterscheidung gibt. Schön wäre ja etwas wie eine MD5 Checksumme, die dann immer eindeutig wäre. Doch die gibt es in der Kodi DB nicht.

    Mal sehen, was ich da jetzt genau mache. Bisher weiß ich es noch nicht.

    -------------------------------------
    Danke fürs lesen, Claus

  • Hi.

    Inzwischen steht mein Plan. Ein zentraler Bestandteil ist das Addon "Watchedstate NFO Updater" von PvD aus der Kodinerds Repo. Das Addon schreibt Veränderungen am Playcount (sowohl Richtung Gesehen als auch Nicht Gesehen) sofort in die entsprechenden .nfo bei Filmen und Serien. Im Gegensatz zu der Kodi- eigenen Datenbank- Export Funktion passiert das in Echtzeit und daneben wird sonst rein gar nichts an den .nfo verändert. Wenn man das von Kodi selbst machen lässt, sind die .nfo hinterher zerstört durch das unsinnige Eintragen der Media- Infos des Videos. Diese Sachen können sich doch leicht mal ändern, werden dann aber nie wieder in die eigentliche DB übernommen, da sie in den .nfo festzementiert sind. Um jetzt die Playcounts der schon vor dem Einsatz des Addons gesehenen Episoden und Filme in die .nfo zu bekommen, werde ich letztmalig das Addon "WatchedList" verwenden. Das werde ich deinstallieren und alle dazugehörenden Daten löschen (lassen). Wenn es nun neu installiert wird, kann es nichts kaputt machen, was es sonst gerne tut, da es ungefragt die DB überschreibt, auch wenn man zwischendurch manuell Änderungen vorgenommen hat. Nachdem ich WatchedList neu installiert habe, lasse ich es einmal laufen. Dann habe ich ein Backup vom dem Zustand, der grade aktuell ist. Nun lösche ich die Kodi- DB und setze sie komplett neu auf. Sind alle Serien und Filme wieder drin, lasse ich WL laufen. Da nun aber vorher das Addon "Watchedstate NFO Updater" bereits aktiv ist, wird jede Änderung, die WatchedList vornimmt, direkt in den .nfo gespeichert. Somit habe ich alle .nfo auf dem aktuellen Stand und kann ab dann die Playcounts jederzeit aus den .nfo in die Kodi DB einlesen lassen.

    Das hat beim Testen mit einer kleinen Mediensammlung mehrfach einwandfrei funktioniert. Deswegen werde ich das die Tage wirklich mal mit der "richtigen" Bibliothek machen.

    Leider trägt das Addon von PvD den Playcount nicht in .nfo von nicht kategorisierten Videos ein. Wobei ich auch gar nicht weiß, ob Kodi das überhaupt lesen würde, wenn es da drin steht. Meine nicht kategorisierten Videos haben alle Poster, Fanart und .nfo. In sofern wäre das hilfreich, zumindest für mich.

    Deswegen werde ich dieses Mal die Playcounts der sonstigen Videos opfern. Bis zum nächsten Mal habe ich dann aber ein Programm geschrieben, womit ich auch diese Playcounts absichern und zurückschreiben kann. Im Gegensatz zu Filmen und Serien tut es das aber nur, wenn der komplette Pfad identisch ist. Anders bekommt man das nicht gelöst. Das Ganze wird ziemlich kompliziert, wenn man nur die nicht Kategorisierten Videos ausfiltern will. Eine einfach Unterscheidung gibt es in der DB dafür nicht. Man muss zunächst die Basis- Pfade der Serien, Filme und Musikvideos aus der DB auslesen. Das ist noch recht einfach. Aber sobald es Unterverzeichnisse gibt (bei Serien quasi Pflicht und auch bei Filmen üblich), kann man diese nicht mehr von den nicht kategorisierten Videos unterscheiden, so lange man sie nicht mit der Liste der Basis- Pfade vergleicht. Dann muss man File für File durchgehen und vergleichen, ob der Pfad einen der Basis- Pfade enthält. Falls nicht, sollte es sich um ein nicht kategorisiertes Video handeln. Ist dann der Playcount größer als 0 so wird das Video mit komplettem Pfad in eine Liste eingetragen. Beim Zurückschreiben wird diese Liste mit Einträgen in der Kodi DB vergleichen und sofern eine Übereinstimmung da ist, der Playcount auf 1 gesetzt. So weit die Theorie. Das Ganze in die Praxis umzusetzen wird aber noch dauern.

    -------------------------------------
    Danke fürs lesen, Claus

  • Inzwischen habe ich mal manuell den Playcount in eine .nfo von einem nicht kategorisierten Video eingefügt. Wird leider von Kodi nicht gelesen. Also braucht es auch nicht in die .nfo eingetragen werden.

    -------------------------------------
    Danke fürs lesen, Claus

  • Wird leider von Kodi nicht gelesen.

    Der Playcount wird nur mit eingelesen wenn Du das in der advancedsettings.xml vorgibst.

    Code
    <videolibrary>
    <importwatchedstate>true</importwatchedstate>  <!-- import previously exported playdate and playcount from .nfo files. Defaults to false -->
    <importresumepoint>true</importresumepoint>  <!-- import previously exported resume point from .nfo files. Defaults to false -->
    </videolibrary>

    Wobei wenn ich das richtig in der Wiki lese sollte dies bei Kodi ab v20 Standard sein.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • Wobei wenn ich das richtig in der Wiki lese sollte dies bei Kodi ab v20 Standard sein.

    Genau, inzwischen müsste man das in der as.xml extra ausschalten, wenn man das nicht will. Aber darum geht es hier nicht. Das betrifft sowieso nur die Export- Import Funktionen der Kodi DB, nicht den Alltagsbetrieb. Es geht mir um die Videos, die weder Serie noch Film oder Musikvideo sind. Auch da speichert Kodi den Playcount in der DB, liest aber nichts von einer eventuellen .nfo ein. Eigentlich kein Wunder, denn Kodi selbst erzeugt auch keine .nfo für solche Videos, auch wenn man die Kodi DB in .nfo exportieren lässt. Meine .nfo wurden von Media-Buddy erzeugt, nicht von Kodi. Und Media-Buddy kann auch .nfo für nicht kategorisierte Videos erzeugen. Nur kann Kodi damit scheinbar wohl nichts anfangen.

    -------------------------------------
    Danke fürs lesen, Claus

  • Unkategorisiert werden die Daten halt nicht in die Datenbank aufgenommen als Videofilme/Serien/Whatever sondern nur für fileinformation gespeichert, denke ich.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • Die werden in exakt dieselbe Tabelle ("files") der Datenbank eingetragen wie Spielfilme oder Serien Episoden, in der ja auch der Playcount abgespeichert wird. In sofern wäre da kein Unterschied. Aber Kodi ex- und importiert nur Datenbank- Einträge für Serien, Spielfilme und Musikvideos. Alles andere wird beim Ex-Import einfach ignoriert. Man müsst die nicht kategorisierten Videos als Filme in die DB aufnehmen, um das zu umgehen. Dann tauchen diese Videos aber mitten zwischen den Filmen im GUI auf und man könnte sie dort nicht so einfach auseinander dividieren.

    An sich ist die Unterteilung in Filme/Serien auf der einen und nicht kategorisierten Videos auf der anderen Seite ja nicht schlecht. Es ist nur schade, das diese Sachen, genau wie etwa Bilder in Kodi nur sehr stiefmütterlich behandelt werden.

    -------------------------------------
    Danke fürs lesen, Claus

  • Hi.

    Heute habe ich meine Kodi Datenbank neu eingerichtet. Das lief so wie geplant und hat alles in allem etwa 5 Stunden gedauert. Allerdings gibt es scheinbar ein Problem mit dem Addon von PvD . Das funktioniert so weit problemlos, scheint aber nicht mit Serien- Doppelfolgen klar zu kommen. Also wenn in einer Datei zwei oder mehr Episoden stecken (und das auch im .nfo gespiegelt wird), dann wird der Playcount nicht in die .nfo geschrieben. Zum Glück sind das bei mir nicht all zu viele Dateien, aber es wäre schön, wenn es auch dabei klappt.

    Als Ursache könnte ich mir sehr gut denken, das die .nfo der Mehrfachfolgen zwar genau den Kodi Konventionen entsprechen (also so sein müssen), aber im Gegensatz zu den .nfo der Einzelfolgen keine validen XML Dateien sind. Es gibt dann nämlich mehrfache Root Elemente (für jede Episode eines), was laut XML Specs nicht sein darf. Ich hab mal ein paar .nfo mit Einzel- und Mehrfachfolgen von zwei Serien (Zurück in die Vergangenheit und Kampfstern Galactica) angehängt, die sauber von Kodi verarbeitet werden. Eigentlich müssten alle den Playcout auf 1 in den .nfo stehen haben. Tatsächlich ist das aber nur bei den Einzelfolgen der Fall, die eben valide XML Dateien sind. Deswegen vermute ich da die Ursache für das Problem. Klar, es wäre auf jeden Fall besser, wenn Kodi hier saubere XML verwenden würde, aber daran wird man nichts mehr ändern können. Dazu sind diese .nfo schon viel zu lange in Gebrauch. Ich weiß nicht, ob man das beheben kann. Falls ja, wäre es schon schön.

  • Allerdings gibt es scheinbar ein Problem mit dem Addon von PvD . Das funktioniert so weit problemlos, scheint aber nicht mit Serien- Doppelfolgen klar zu kommen. Also wenn in einer Datei zwei oder mehr Episoden stecken (und das auch im .nfo gespiegelt wird), dann wird der Playcount nicht in die .nfo geschrieben. Zum Glück sind das bei mir nicht all zu viele Dateien, aber es wäre schön, wenn es auch dabei klappt.

    Ich kann mir das gerne anschauen, wenn Du mal ein Debug-Log am/vom Ende des Abspielens der Doppel-Episode zur Verfügung stellen könntest. Das Addon wird vom XBMC-Monitor getriggert (hier speziell von VideoLibrary.OnUpdate) und da würde ich schon gerne sehen, was da passiert.

    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 gibt dann nämlich mehrfache Root Elemente (für jede Episode eines), was laut XML Specs nicht sein darf.

    Wobei Kodi .nfo eh keine echten xml-Dateien sind - im Allgemeinen. Beispielsweise Parse .nfo oder Combination .nfo sind nie korrekte xml-Dateien.

    Was ich mich frage: Zuvor war die Diskussion, dass die exportierten .nfo nerven, beispielsweise wegen Videoauflösung, für die immer .nfo bevorzugt wird. Reicht es nicht nach dem Import alle .nfo wieder zu löschen und dann nimmt Kodi wieder die korrekte ("zuletzt gesehene") Videoauflösung, auch wenn ein Film mal ersetzt wurde durch einen besserer Qualität?

    Kodi 21.1, 17.6, 21.1, 16, 20.5 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 6 (Debian Linux).

  • Was ich mich frage: Zuvor war die Diskussion, dass die exportierten .nfo nerven, beispielsweise wegen Videoauflösung, für die immer .nfo bevorzugt wird. Reicht es nicht nach dem Import alle .nfo wieder zu löschen und dann nimmt Kodi wieder die korrekte ("zuletzt gesehene") Videoauflösung, auch wenn ein Film mal ersetzt wurde durch einen besserer Qualität?

    In meinen .nfo, die nicht von Kodi, sondern von einem externen Programm erzeugt wurden, sind jede Menge individuelle Anpassungen an den Metadaten drin. Teilweise sind die Serien oder Filme Metadaten auch "frei Erfunden" sprich sie sind auf TVDB/IMDB gar nicht gelistet und haben von mir "Fake IDs" bekommen. Dank meiner .nfo werden sie aber in Kodi genau so behandelt, als wären es "echte" Filme oder Serien. Würde ich die .nfo löschen, wären alle diese Anpassungen zum Teufel, sobald ich mal etwas neu einlesen lassen muss. Also ist nix mit Löschen.

    Nervig ist, das Kodi selbst, wenn man die DB in .nfo exportiert auch Sachen, die meiner Ansicht nach in den .nfo (die für die Metadaten zum Film zuständig sind) absolut gar nichts zu suchen haben, abspeichert. Sei es der Pfad zur Datei oder die Medien Infos des Videos (Codec, Auflösung,...) Das hat mit den Metadaten absolut gar nichts zu tun und deswegen auch nichts in den .nfo verloren. Und deswegern will ich das auch nicht in den .nfo haben. Speziell, da ich durchaus mal das Video austausche (weil ich eines mit besserer Qualität aufgetrieben habe), aber die Metadaten beibehalten will. Stehen die "alten" Media Infos in der .nfo kann ich die Einträge in der Datenbank niemals mehr aktualisieren, sofern ich die .nfo Datei nicht manuell editiere oder gar lösche, mit all den negativen Folgen, die es so mit sich bringt.

    Der Playcount in den .nfo ist auch nur ein Kompromiss. Man muss das Ganze schon sehr großzügig auslegen, um den Gesehen Zustand als zu den Metadaten gehörend zu definieren. Lieber wäre mir ja, man müsste das so nicht machen. Aber ich habe keinen anderen, besseren Weg gefunden, die Playcounts unabhängig von der Kodi Datenbank abzusichern. Sobald man die DB mal neu machen will/muss, sind nämlich sonst alle Gesehen Zustände weg. Die Metadaten werden problemlos aus den .nfo ausgelesen, die Medien Infos (Auflösung, Codec, Audio- Kanäle,...) aus der Datei. Nur die Gesehen Zustände sind dann weg, sofern man sie nicht anderweitig abgesichert hat. Bei Filmen würde das in der größten Not vielleicht noch irgendwie akzeptabel sein. Aber bei Serien geht das gar nicht. Zumindest wird von dem Addon nichts verändert, was in irgendeiner Form mit den Metadaten zu tun hat. Und das Addon von PvD hält diese Einträge stets aktuell. In sofern kann ich damit gut leben.

    -------------------------------------
    Danke fürs lesen, Claus

  • Code
    2025-01-12 18:27:02.621 T:11280   error <general>: [service.nfo.updater 1.1.4+matrix] Error processing NFO: junk after document element: line 48, column 0
    2025-01-12 18:27:02.621 T:11280   debug <general>: [service.nfo.updater 1.1.4+matrix] Notification received: VideoLibrary.OnUpdate - {"id":42291,"type":"episode"}

    In Zeile 48 der betreffenden NFO zur Episode gibt es ein Problem. In der Regel ist das eine fehlerhafte XML-Struktur (nicht abgeschlossene Tags oder ähnliches). Du kannst gerne mal die NFO hier anhängen, dann schaue ich mal rein.

    Der andere Error ist eigentlich keiner, da dass Addon/der Service mit einem Exit(0) (d.h. fehlerfrei) beendet wird.

    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 gehe mal davon aus dass

    In meinen .nfo, die nicht von Kodi, sondern von einem externen Programm erzeugt wurden, sind jede Menge individuelle Anpassungen an den Metadaten drin.

    diese Daten dann auch in der Kodi-DB landen, und auch wieder exportiert werden. Selbstverständlich darf man eigene manuelle Arbeit nie verlieren. Kann nicht beurteilen, ob die "manuell angepassten" .nfo auf Knopfdruck wieder neu generiert werden. Bei deiner Problemstellung (so habe ich es verstanden) schein single xml nicht zu funktionieren, und Einzel zu nerven wegen Auflösung. Daher würde ich manuell angepasste wegsichern, einzelne .nfo exportieren, DB-löschen, einelne .nfo importieren, dann die Löschen und/oder durch die weggespeicherten manuell angepassten wieder ersetzen (möglicherwesie aus den weggesicherten, oder halt auch über den potentiellen "Knopfdruck").

    Kodi 21.1, 17.6, 21.1, 16, 20.5 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 6 (Debian Linux).

  • In Zeile 48 der betreffenden NFO zur Episode gibt es ein Problem. In der Regel ist das eine fehlerhafte XML-Struktur (nicht abgeschlossene Tags oder ähnliches). Du kannst gerne mal die NFO hier anhängen, dann schaue ich mal rein.

    Danke.

    In Zeile 48 endet das erste Root Element "<episodedetails>" und das Zweite (das es laut XML Specs gar nicht geben darf, von Kodi aber verlangt wird) fängt eine Zeile später (also in Zeile 49) an. Genau das ist ja das Problem mit den Kodi .nfo bei Mehrfach- Episoden. Dort werden die Root Elemente <episodedetails> für jede in der Videodatei enthaltenen Episode einfach hintereinander gehängt, statt sie noch einmal zu kapseln um nur ein Root Element zu haben, wie es von den XML Specs verlangt wird. Dadurch sind das dann keine gültigen XML Dateien mehr und jeder "normale" XML Parser fliegt auf die Nase. Man müsste für jede Episode eine eigene, separate .nfo machen können, dann gäbe es da kein Problem. Nur leider erlaubt Kodi das nicht...

    Meist handelt es sich bei solchen Doppel- Episoden um sowas wie einen Pilotfilm, der entweder als eine 90 minütige Doppelfolge ohne Unterbrechung oder als zwei separate 45 Minuten Folgen, dann mit Abspann und neuem Vorspann gesendet werden könnten. Deswegen sind solche Doppel-Folgen nur schlecht zu trennen, um daraus mehrere Einzelfolgen zu machen. Übrigens sind bei mir gut 170 solcher Doppel- Folgen im Bestand. Im Vergleich zu den fast 50.000 Serien Episoden, die ich lokal verfügbar habe, wirklich Peanuts. Trotzdem würde das schon einiges an Arbeit machen...

    Die .nfo zu der für das Debug-Log abgespielten Episode "S01E01E02 - Start ins Unbekannte" aus der Serie "Zurück in die Vergangenheit" habe ich, zusammen mit ein paar Anderen (zum Vergleichen) schon in Beitrag 29 angehängt.

    Lehmden1
    12. Januar 2025 um 17:57

    -------------------------------------
    Danke fürs lesen, Claus

  • Die .nfo zu der für das Debug-Log abgespielten Episode "S01E01E02 - Start ins Unbekannte" aus der Serie "Zurück in die Vergangenheit" habe ich, zusammen mit ein paar Anderen (zum Vergleichen) schon in Beitrag 29 angehängt.

    Dann schaue ich nächste Woche mal dort rein. Evtl. kann man den Parser dazu bringen, den Fehler zu tolerieren. Versprechen tue ich allerdings nichts.

    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

  • Der Playcount in den .nfo ist auch nur ein Kompromiss. Man muss das Ganze schon sehr großzügig auslegen, um den Gesehen Zustand als zu den Metadaten gehörend zu definieren. Lieber wäre mir ja, man müsste das so nicht machen. Aber ich habe keinen anderen, besseren Weg gefunden, die Playcounts unabhängig von der Kodi Datenbank abzusichern.

    Evtl. ist Trakt Dein Freund.

  • Evtl. ist Trakt Dein Freund.

    Nein, ist es nicht. Die können jederzeit die Tür zusperren und man steht ohne Sicherung da. Es gab früher mal ein alternatives Angebot zu Trakt. Ich weiß nicht mal mehr, wie das hieß, ist halt schon viele Jahre her. Das war nicht so überfrachtet mit all diesem Social Media und Community Zeugs, das ich sowieso nicht haben will sondern einfach eine Datenbank für Privatleute. War wesentlich schneller und unkomplizierter als Trakt. Das hatte ich mal statt Trakt genutzt. Eines Tages war der Dienst dann plötzlich verschwunden und mit ihm mein Backup. Was ich nicht zu Hause habe, habe ich gar nicht.

    Ich habe übrigens mal ein wenig experimentiert und die .nfo per Hand modifiziert. Am Anfang habe ich ein <root> eingefügt und am Ende ein </root> Und schon ist die Datei absolut valide. Kodi liest das sogar auch problemlos ein. Somit ist daran etwas angepasst worden. Denn das zusätzliche Kapseln hatte ich vor Jahren schon mal versucht, damals aber ohne Erfolg.

    Aber auch damit funktioniert das Addon nicht richtig. Es trägt dann

    ...

    </episodedetails>
    <watched>true</watched>
    <lastplayed>2025-01-12 19:46:14</lastplayed>
    <playcount>1</playcount>
    </root>

    in die .nfo ein. Einfach direkt vor dem letzten schließenden Tag. So wird das von Kodi aber nicht ausgewertet. Damit es funktioniert, muss es vor jedem Mal das "</episodedetails>" auftaucht, eingetragen werden.

    Wenn die .nfo so aussieht, ist sie eine valide XML Datei, wird von Kodi akzeptiert und der Playcount wird beim Import in die DB eingelesen:

    Spoiler anzeigen

    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    <episodedetails>
    <id/>
    <title>Start ins Unbekannte (1)</title>
    <showtitle>Zurück in die Vergangenheit</showtitle>
    <plot>Der Morgen beginnt für Sam nicht gut: Er kann sich an nichts erinnern, nicht einmal an seinen Namen. Aus dem Radio tönt altmodische Musik, die Frau neben ihm nennt ihn Tom und ist im sechsten Monat schwanger. Aus dem Spiegel starrt ihm ein fremdes Gesicht entgegen. Nach und nach wird Sam klar, dass er sich im Jahr 1956 befindet. Alle halten ihn für den Air Force-Piloten Tom Stratton, der an einem geheimen Flugprogramm zum Durchbruch der Geschwindigkeitsgrenze Mach 3 teilnimmt...
    Als Sam endlich das Jahr 1956 verlassen kann, landet er nicht in der Gegenwart, sondern als Baseball-Spieler Tim Fox im Jahr 1968.</plot>
    <season>1</season>
    <episode>1</episode>
    <dvd_season>1</dvd_season>
    <dvd_episode>1.1</dvd_episode>
    <thumb>http://thetvdb.com/banners/episodes//79115.jpg</thumb>
    <year>1989</year>
    <rating>8.2</rating>
    <votes>64</votes>
    <uniqueid type="tvdb">72248</uniqueid>
    <uniqueid type="imdb">tt0096684</uniqueid>
    <runtime>93</runtime>
    <language>de</language>
    <status>Ended</status>
    <genre>Drama</genre>
    <genre>Science-Fiction</genre>
    <studio>NBC</studio>
    <actor>
    <name>Scott Bakula</name>
    <role>Sam Beckett</role>
    <thumb>http://thetvdb.com/banners/actors/327405.jpg</thumb>
    </actor>
    <actor>
    <name>Dean Stockwell</name>
    <role>Admiral Albert &quot;Al&quot; Calavicci</role>
    <thumb>http://thetvdb.com/banners/actors/327406.jpg</thumb>
    </actor>
    <actor>
    <name>Deborah Pratt</name>
    <role>Ziggy</role>
    <thumb>http://thetvdb.com/banners/actors/285488.jpg</thumb>
    </actor>
    <actor>
    <name>Dennis Wolfberg</name>
    <role>Gooshie</role>
    <thumb>http://thetvdb.com/banners/actors/285487.jpg</thumb>
    </actor>
    <mpaa>FSK 12</mpaa>
    <uniqueid type="tmdb">4018</uniqueid>
    <watched>true</watched>
    <lastplayed>2025-01-12 19:46:14</lastplayed>
    <playcount>1</playcount>
    </episodedetails>
    <episodedetails>
    <id/>
    <title>Start ins Unbekannte (2)</title>
    <showtitle>Zurück in die Vergangenheit</showtitle>
    <plot>Als Sam endlich das Jahr 1956 verlassen kann, landet er nicht in der Gegenwart, sondern als Baseball-Spieler Tim Fox im Jahr 1968.</plot>
    <season>1</season>
    <episode>2</episode>
    <dvd_season>1</dvd_season>
    <dvd_episode>1.2</dvd_episode>
    <thumb>http://thetvdb.com/banners/episodes//79116.jpg</thumb>
    <year>1989</year>
    <rating>8.2</rating>
    <votes>64</votes>
    <uniqueid type="tvdb">72248</uniqueid>
    <uniqueid type="imdb">tt0096684</uniqueid>
    <runtime>93</runtime>
    <language>de</language>
    <status>Ended</status>
    <genre>Drama</genre>
    <genre>Science-Fiction</genre>
    <studio>NBC</studio>
    <actor>
    <name>Scott Bakula</name>
    <role>Sam Beckett</role>
    <thumb>http://thetvdb.com/banners/actors/327405.jpg</thumb>
    </actor>
    <actor>
    <name>Dean Stockwell</name>
    <role>Admiral Albert &quot;Al&quot; Calavicci</role>
    <thumb>http://thetvdb.com/banners/actors/327406.jpg</thumb>
    </actor>
    <actor>
    <name>Deborah Pratt</name>
    <role>Ziggy</role>
    <thumb>http://thetvdb.com/banners/actors/285488.jpg</thumb>
    </actor>
    <actor>
    <name>Dennis Wolfberg</name>
    <role>Gooshie</role>
    <thumb>http://thetvdb.com/banners/actors/285487.jpg</thumb>
    </actor>
    <mpaa>FSK 12</mpaa>
    <uniqueid type="tmdb">4018</uniqueid>
    <watched>true</watched>
    <lastplayed>2025-01-12 19:46:14</lastplayed>
    <playcount>1</playcount>
    </episodedetails>
    </root>

    Wie gesagt, damit Kodi funktioniert, bedarf es des <root> und </root> Tags nicht. Aber nur so wird aus der .nfo eine valide XML Datei, die von jedem Parser akzeptiert wird.

    -------------------------------------
    Danke fürs lesen, Claus

  • Wie das Wurzelelement benannt ist, ist hier vollkommen irrelevant, da keine DTD existiert. Das kann auch genauso <weihnachtsmann> oder <osterhase> heißen, spielt keine Rolle. Wenn man Deinem obigen Beispiel folgt, wäre ohne <root> eben <episodedetails> das Wurzelelement. Solange alle untergeordneten Elemente wohlgeformt sind, ist ohne DTD alles i.O.

    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

Jetzt mitmachen!

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