Episodes2TVGuide (E2T) - Anpassen der tvguide.xml (1 Viewer)

kruemelchen1970

Portal Pro
February 21, 2012
182
33
Kiel
Home Country
Germany Germany
Die war sowieso richtig :D

Naja wie gesagt, ich hatte vorher ein echt zuverlässiges System. Lief über 1 Jahr absolut Problemlos, trotz der "dirty Hacks" mit den Datenbanken, das die Zentral liegen und nicht immer auf die einzelnen Clients Syncronisiert werden mußten. Da denkt man eben 2 - 3 mal nach ob man was ändert.
 

micha

Portal Member
January 26, 2006
12
0
124
Hallo lightshock
Ich bin durch den beitrag WebGrab+Plus Howto von Lehmden auf Dein Programm aufmerksam geworden.
Leider bekomme ich es nicht zum laufen,da ich mich mit XML Dateien nicht auskenne weis ich nicht was und wie ich was ändern muss,Speziell input und output.Ich würde mich sehr über deine Hilfe freuen.

Gruß micha
 

lightshock

Test Group
  • Team MediaPortal
  • June 3, 2008
    552
    128
    bei Karlsruhe
    Home Country
    Germany Germany
    Hallo micha,

    gar kein Problem. Dafür sind wir ja da :)

    Im Normalfall musst du an der XML-Datei nichts ändern. Solltest du doch was anpassen müssen, kannst du das mit jedem beliebigen Editor machen. Ich bevorzuge Notepad++, der zeigt die Felder und Werte passend farbig an.

    Wenn du E2T aufrufst, musst du Parameter mit übergeben. Am einfachsten ist eine Verknüpfung oder eine Batch-Datei zu erzeugen.
    Wenn wir am Beispiel Verknüpfung bleiben, musst du, wenn du auf die Eigenschaften der Verknüpfung gehst, unter dem Begriff "Ziel" folgendes hinzufügen:
    Code:
    --input:"Pfad zu deiner tvguide.xml"
    Am besten schreibst du den Pfad inkl. dem Dateinamen in " (Gänsefüsschen).

    Wenn du nur den Parameter --input angibst, wird von der tvguide.xml eine Sicherung angelegt und dann eine neue tvguide.xml erzeugt. Wenn du den --output Parameter angibst wird keine Sicherung der bei --input angegeben Datei erzeugt und eine Datei erstellt die du bei --output angegeben hast.

    Bei mir sieht sieht das ganze z.B. so aus. Wobei ich MP2 nutze, bei dir könnte es evtl anders aussehen
    Code:
    Episodes2TVGuide.exe --input:"C:\ProgramData\Team MediaPortal\MP2-Server\SlimTVCore\v3.0\xmltv\tvguide.xml"

    Hoffe das ich dir habe helfen können, sonst... schreien :)
     

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,554
    3,936
    Lehmden
    Home Country
    Germany Germany
    Hi.
    XML Dateien sind im Computer- Alltag allgegenwärtig, von daher ist es gut, zumindest die einfachsten Grundlagen davon zu verstehen. Ist nicht besonders schwer.

    XML Dateien sind ganz ähnlich wie HTML Dateien (Webseiten) aufgebaut. Es sind einfache Text Dateien, die mit jedem Text Editor wie z.B. Notepad erstellt, bearbeitet und verändert werden können. Eine XML Datei besteht aus Tags (Befehlen), die in <> eingerahmt sind. Jeder Tag wird mit <Tag> geöffnet und muss mit </Tag> abgeschlossen werden. Dazwischen kann beliebig viel Text, aber auch beliebig viele andere Tags enthalten sein. Jedes XML Dokument fängt mit dem Header an, in dem definiert wird, welche XML Version und welche Zeichen- Codierung verwendet wird. Diese Header Zeile sieht so oder so ähnlich aus

    XML:
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>

    Das muss einfach am Anfang so einer Datei stehen um den Text als XML Dokument zu kennzeichnen. Ein weiteres wichtiges Element sind Kommentare. Kommentare bestehen aus Text, der nicht abgearbeitet wird sondern normalerweise nur zur Verbesserung der Übersichtlichkeit dient. Also der Kommentar: Hier fängt das Fenster XYZ an. Damit das nun als Kommentar erkannt wird, muss es mit <!-- am Anfang und --> am Ende eingeschlossen werden. Unser Kommentar sieht im XML Dokument also so aus:

    XML:
    <!-- Hier fängt das Fenster XYZ an-->

    Eine weitere gern genutzte Eigenschaft solcher Kommentare ist es, bestimmte Abschnitte des Codes lahmzulegen, also die Ausführung zu verhindern, ohne ihn aus dem Dokument tatsächlich zu löschen. Denn zwischen <!-- und --> kann beliebig viel stehen, auch XML Befehle. Wen du dir mal die WebGrab+Plus Konfigurationsdatei ansiehst (in Editor öffnest), wirst du sehr viele dieser Kommentare sehen, die quasi die Bedienungsanleitung für WG++ darstellen...

    Die Konfigurationsdatei für E2T sieht bei mir so aus:
    XML:
    <?xml version="1.0"?>
    <Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <CharToFindEpisode>
        <string>:</string>
        <string>,</string>
        <string>;</string>
        <string>/</string>
        <string>\</string>
      </CharToFindEpisode>
      <RemoveTags>
        <string>credits</string>
        <string>video</string>
        <string>audio</string>
        <string>rating</string>
        <string>star-rating</string>
      </RemoveTags>
      <Replace_Strings>
        <string>()</string>
        <string>(n)</string>
      </Replace_Strings>
      <ClearCache_Days>14</ClearCache_Days>
      <Match_Factor_Percent>80</Match_Factor_Percent>
      <TVDB_Language>de</TVDB_Language>
      <TVDB_Timeout>30</TVDB_Timeout>
      <TVDB_OverwritePlot>true</TVDB_OverwritePlot>
      <TVDB_Overwrite_Serie_and_Episode>false</TVDB_Overwrite_Serie_and_Episode>
      <MP2_TVDB_Cache>C:\ProgramData\Team MediaPortal\MP2-Server\TvDB</MP2_TVDB_Cache>
    </Settings>
    Hier kann man schön die einzelnen Elemente und Strukturen erkennen. Unser Header ist auch hier vorhanden, wenn auch sehr abgekürzt. Kürzer geht nicht, sonst ist es keine XML Datei.
    In der zweiten Zeile wird der <Settings> Tag geöffnet, der erst in der letzten Zeile wieder geschlossen wird. Damit ist definiert, das alles, was in dieser Datei steht, Einstellungen sind. Wie die einzelnen Tags jetzt genau heißen, ist eine Sache des Programms, das diese XML Datei verarbeitet.
    Hätte der Autor des Programms (also Lightshock in diesem Fall) dort lieber "Banane" stehen gehabt, wäre das auch möglich gewesen. Aber es ist natürlich sinnvoll, dort aussagekräftige Begriffe (und auf Englisch) zu verwenden, damit auch andere Leute das "lesen" können. Die Links in dem Settings Tag sind für Leute, die einfach die Settings anpassen wollen, völlig unerheblich, sollten also unangetastet bleiben, da andernfalls die ganze Geschichte nicht funktioniert. Um das zu ändern, muss man sich viel tiefer damit beschäftigen und höchstwahrscheinlich auch das eigentliche Programm umschreiben... Also Finger weg.

    Der nächste Abschnitt fängt mit <CharToFindEpisode> an und wird einige Zeilen später erst wieder geschlossen. Das ist also eine "Untergruppe" der Einstellungen, in der festgelegt wird, welche Zeichen E2T verwenden soll, um nach Erpisodentiteln in dem Sendungstitel bzw der Beschreibung zu suchen. Hier kann und muss man also mehrere weitere Tags einfügen, die jeweils mit <string> anfangen und natürlich mit </string> enden. Es wird also nach (in dieser Reihenfolge) : , ; / \ gesucht, um einen Episodentitel identifizieren zu können. Kommt in deiner EPG Quelle etwas anderes (keine Ahnung, vielleicht sowas | ) auch als Trennzeichen vor, so kannst du dieses Zeichen dann als weitere Zeile dort eintragen. Diese Zeile muss dann so aussehen:

    XML:
    <string>|</string>

    Die nächste Untergruppe, die mit <RemoveTags> anfängt, beinhaltet die Elemente, die zwar in der tvguide.xml enthalten sind/sein können, aber nicht von MP (egal ob 1 oder 2) verarbeitet werden, aufgelistet. Diese Elemente werden dann, um die Datei kleiner und das Einlesen in die TV Server Datenbank somit schneller zu machen, von E2T aus der tvguide.xml entfernt. Auch hier haben wir wieder verschiedene Zeilen, die jeweils einen Begriff (String) enthalten. Der Aufbau ist also identisch zu <CharToFindEpisode>. Will man für ein anderes Programm aber alle Elemente in der tvguide.xml lassen, so kann man alle Zeilen zwischen <RemoveTags> und </RemoveTags> entfernen und E2T lässt alles drin. Genau so gut kann man auch nur einzelne Elemente entfernen oder andere hinzufügen...

    Unter der <RemoveTags> Gruppe sind noch einige weitere Konfigurations- Optionen aufgeführt, die nicht weiter gruppiert sind. Deswegen sind die öffnenden und schließenden Tags hier in einer Zeile mit den jeweiligen Werten dazwischen untergebracht.

    <ClearCache_Days>14</ClearCache_Days> bedeutet, die Metadaten, die von TVDB geladen wurden, werden alle 14 Tage aktualisiert. Das ist notwendig, da sich die Daten für Serien ja oft verändern. Es kommen neue Episoden hinzu, andere Episoden werden "eingedeutscht", usw. Die 14 gibt halt an, wie viele Tage diese Medataten maximal alt sein dürfen, bevor E2T Neue lädt.

    <Match_Factor_Percent>80</Match_Factor_Percent> gibt die notwendige "Trefferquote" an, damit die Episode als "erkannt" bewertet wird. Diese beiden Einstellungen muss man in aller Regel nicht ändern..

    <TVDB_Language>de</TVDB_Language> stellt die zu verwendende Sprache ein. Für uns ist das Deutsch, aber es gibt ja auch noch diverse andere Länder, die vielleicht lieber andere Sprachen verwenden würden.

    <TVDB_Timeout>30</TVDB_Timeout> legt den TimeOut für Internet Zugriffe auf TVDB fest. Leider ist TVDB alles andere als zuverlässig zu erreichen. Deswegen ist es notwendig, hier ein Limit anzugeben, wie lange maximal gewartet wird. Auch hier muss man im allgemeinen nichts ändern.

    <TVDB_OverwritePlot> kann man auf "true" oder "false" setzen und bedeutet die Beschreibungen von TVDB ersetzen die im EPG vorhandenen Beschreibungen immer (true) oder nur, wenn die Beschreibung im EPG leer ist (false).

    <TVDB_Overwrite_Serie_and_Episode> ist im Prinzip das selbe wie <TVDB_OverwritePlot> nur eben für die Titel.

    Und zum Schluss noch <MP2_TVDB_Cache>. Hier wird der Pfad zum MP2 Serien Cache angegeben. Nutzt man MP2 kann man sich so einiges an Download Zeit sparen, da MP2 dieselben Daten herunter lädt wie E2T. Der lokale Zugriff klappt deutlich schneller als ein Internet Download. E2T funktioniert aber natürlich auch ohne MP2. Ändern muss man hier nur etwas, wenn man MP2 nutzt, es aber nicht dorthin installiert, hat, wo es standardmäßig installiert wird.

    Ich würde dir übrigens auch dringend empfehlen, das kostenlose Programm Notepad++ zu installieren und damit solche Sachen zu machen. Erleichtert einem das Leben doch enorm.
     

    pünktchen

    Portal Pro
    October 26, 2010
    537
    201
    Home Country
    Germany Germany
    Hallo lightshock,
    da die Grundfunktionen deines neuen Programms jetzt stehen, kann ich ja mit meinen Sonderwünschen kommen :D
    Grundsätzlich würde ich natürlich gern erst einmal die gleichen Funktionalitäten wie bei deinem letztem Programm sehen.
    Zusätzlich wäre es toll, wenn man auch "title" und "sub-title" erweitern könnte. (Hauptsächlich mit Staffell- bzw. Episodennummer)

    Was du dabei beachten solltest:
    In welcher Reihenfolge du das Suchen/Ersetzen und das Austauschen der Parameter mit Werten ausführst.
    Bei deinem altem Programm ist es so, dass wenn ich den Parameter "date" für die Beschreibung definiert habe, aus Soldaten z.B Sol1982n gemacht wird.

    Auch solltest du nur etwas austauschen, wenn ein Quellwert vorhanden ist. Im allerschlimmsten Fall siehts bei mir so aus:
    Code:
    <desc>sub-title* (country* date* length) Hier steht ganz viel Beschreibung zur Sendung actor*</desc>
    Das Sahnehäubchen wäre es, dass auch die Klammern weggelassen werden falls gar kein Ersatzwert gefunden wird.
    Zumindest für die Felder "title" und "sub-title" wäre das wichtig.
     

    micha

    Portal Member
    January 26, 2006
    12
    0
    124
    Erst mal vielen Dank für die schnelle Anntwort.
    Ich habe mich bis jetzt immer mit dem Episodenscanner beschäftigt,das habe ich auch immer hingekommen.mein problem ist wenn ich die Episodes2 TV guide exe ausführe,geht das schwarze Fenster auf und gleich wieder zu und es passier nichts.Ich habe mir auch die batch Datei von Lehmden auf Seite 20 des anderm Beitrags herrunter geladen,wenn ich diese ausführe startet auch Webgrab+Plus und erstellt in C:\ProgammData\ServerCare\Webgrab dieguide.xml,danach passiert nichts mehr.Ich vermute mahl das ich noch eine batch Datei erstellen muss,mit denpfaden für input undoutput zum starten der Episodes2TV guide exe.Leider habe ich keine Ahnung wie das geht.Ich würde mich über Eure Hilfe freuen.

    Gruß micha
     

    lightshock

    Test Group
  • Team MediaPortal
  • June 3, 2008
    552
    128
    bei Karlsruhe
    Home Country
    Germany Germany
    kann ich ja mit meinen Sonderwünschen kommen :D
    War ja klar :D

    ich schau mir das ganze an wenn ich etwas mehr Luft habe. Ich denke mal vor nächster Woche wird das aber nix.

    Leider habe ich keine Ahnung wie das geht.Ich würde mich über Eure Hilfe freuen.
    Hast du zufälligerweise schon etwas hinbekommen?
    Von welchem Beitrag, bzw welcher Datei redest du denn?
     

    megahorst

    Super User
  • Team MediaPortal
  • Super User
  • July 8, 2006
    879
    259
    Home Country
    Germany Germany
    Hallo,
    besteht die Möglichkeit, die in diesem Programm hinterlegten Regeln als Regex im TV-Server Plugin EPG cleaner zu verwenden?
    https://forum.team-mediaportal.com/threads/plugin-epg-cleaner-schedule-repair.133416/

    Hintergrund:
    Ich benutze den clickfinder und bin eigentlich damit zufrieden. Das einzige, das mich stört, ist dass Titel einer Serie und der Name der Episode immer zusammen im Titel zu finden sind. Aufnahmen werden damit in der Liste der Aufgaben nicht nach Serien gruppiert
    E2T scheint hierfür ja eine Lösung parat zu haben, wenn man ihm eine entsprechende xmltv Datei bearbeiten lässt.

    Können die Regeln, die in E2T implementiert sind als Regex im EPG cleaner verwendet werden? (Hierzu müsssten die Regeln als Regex vorhanden sein, wenn die Regeln anders implementiert sind in E2T, macht das Ganze vermutlich keinen Sinn...)
    Oder besteht die Möglichkeit, dass das Programm erweitert wird um die TV-DB direkt zu manipulieren?
    Oder hat jemand eine bessere Idee? (Ich weiß, ich könnte umsteigen auf webepg, habe ich aber nicht vor)
     

    lightshock

    Test Group
  • Team MediaPortal
  • June 3, 2008
    552
    128
    bei Karlsruhe
    Home Country
    Germany Germany
    besteht die Möglichkeit, die in diesem Programm hinterlegten Regeln als Regex im TV-Server Plugin EPG cleaner zu verwenden?
    Nein, das geht nicht. Ich verwende hierfür kein RegEx.
    Es wird versucht den Seriennamen anhand bestimmter Zeichenketten und Positionen zu ermitteln. Wenn eine Serie dadurch identifiziert wurde, wird nach der Episode gesucht. Zum einen in der angegeben Sprache und in Englisch. Danach kann (muss aber nicht) der korrekte Titel der Serie und der Name der Episode übernommen werden.

    Theoretisch könnte ich auch auf die ClickFinder-Datenbank zugreifen und daraus eine tvguide.xml erstellen. Aber das werde ich nicht tun. Liegt einfach daran das ich das Programm dann fix an eine Prozessorarchitektur (in dem Fall 32 Bit) binden muss, da ich sonst nicht auf die Datenbank vom Clickfinder zugreifen kann. Dann habe ich aber Probleme damit mein Programm unter Linux laufen zu lassen.
     

    Users who are viewing this thread

    Top Bottom