home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
Language specific support
Deutsches MediaPortal Forum
Hard- und Software rund um den HTPC
Software
3rd Party Software
Episodes2TVGuide (E2T) - Anpassen der tvguide.xml
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="lightshock" data-source="post: 1173478" data-attributes="member: 76421"><p>Hi,</p><p></p><p>ich konnte es mal wieder nicht lassen und habe ein kleines Programm geschrieben das ich euch, vor allem den TV-Schauern unter euch, nicht vorenthalten möchte.</p><p>[USER=109222]@Lehmden[/USER] hatte mich letztes Jahr gefragt ob ich denn ein Programm machen könnte um den EPG, genauer gesagt die Datei in der sich der EPG vor dem Import in MediaPortal befindet, zu modifizieren. Klar, ist machbar habe ich gesagt und wie haben uns im Detail unterhalten.</p><p>Bei vielen EPG-Anbieter wird der Inhalt der Sendung nicht unbedingt gut gepflegt. Da fehlt die korrekte Staffel- und Episodennummer der Sendung, der Plot ist nicht gefüllt oder die Namen der Serie und Episode werden nicht getrennt.</p><p>Da [USER=109222]@Lehmden[/USER], unter anderem, bekannt dafür ist viele Aufnahmen zu haben, man aber immer viel Zeit investieren muss um herauszubekommen ob man nun eine Episode der Staffel schon hat oder nicht, haben wir versucht die Arbeit auf ein Programm abzuwälzen. So entstand Episodes2TVGuide. Oder kurz E2T.</p><p></p><p>Der Vorteil an E2T ist, das die Datei, in welcher sich das EPG befindet, vor dem Importieren in die MediaPortal-Datenbank (egal ob Version 1 oder 2) angepasst wird.</p><p></p><p><strong>Was macht E2T?</strong></p><p>E2T verarbeitet die komplette tvguide.xml und versucht über die Webseite TheTVDB zu ermitteln, ob es sich bei der Sendung um eine Serie handelt. Wenn eine Serie gefunden wurde, werden die Informationen zu dieser Serie in einen Cache-Ordner geladen. Wenn MediaPortal 2 installiert ist, wird auch auf diesen Cache zugegriffen.</p><p>Bei einer Übereinstimmung wird die korrekte Staffel- und Episodennummer abgespeichert.</p><p>Zusätzlich besteht die Möglichkeit den Plot, sowie den Serien- und Episodennamen zu übernehmen.</p><p></p><p>Wenn eine Sendung nicht in der angegebenen Sprache gefunden wurde, wird im englischsprachigen Bereich gesucht. Sollten wir hier fündig werden, werden von dort die Daten genommen.</p><p></p><p><strong>Vorgehensweise und Parameter:</strong></p><p>E2T ist ein Kommandozeilenprogramm. Der erste Aufruf legt die benötigten Dateien und Ordner an. Alle Dateien und Ordner liegen im selben Ordner wie E2T.</p><p>Der erste Aufruf sollte ohne ein Parameter sein. Danach wird eine Konfigurationsdatei mit dem Namen "Episodes2TVGuide.xml" erstellt. Diese sollte vor dem nächsten Start bearbeitet werden. Viele Bereiche sind selbsterklärend, aber ich gehe trotzdem kurz darauf ein.</p><p></p><ul> <li data-xf-list-type="ul">CharToFindEpisode<br /> Hier werden die Trennzeichen hinterlegt mit denen versucht wird eine Episode zu finden. <br /> Manche EPG-Anbieter schreiben in den Sendungstitel: "Flash - Der rote Blitz: Der programmierte Doppelgänger".<br /> Dies ist für E2T keine eindeutige Serie. Darum wird jedes Trennzeichen das in der Liste benutzt um den Bereich zwischen Serie und Episode zu trennen. Zu beachten ist die Reihenfolge der Trennzeichen. Würde ein Minus vor dem Doppelpunkt als Trennzeichen kommen, würde die Serie "Flash" und die Episode "Der rote Blitz: Der programmierte Doppelgänger" heißen. Dies wird leider nicht bei TVDB gefunden.</li> <li data-xf-list-type="ul">RemoveTags<br /> Bei vielen EPG-Anbietern werden weitere Informationen wie z.B. Darsteller, Bewertungen usw mitgeliefert. Programme wie MediaPortal z.B. nutzen diese Information nicht. Also können diese auch aus der Datei entfernt werden.</li> <li data-xf-list-type="ul">Replace_Strings<br /> Einige EPG-Anbieter schreiben in den Plot unnütze Zeichen wie z.B. "()" oder "( n )". Diese können hiermit entfernt werden</li> <li data-xf-list-type="ul">TVDB_Language<br /> Gibt die Sprache an in welcher nach der Serie gesucht wird.</li> <li data-xf-list-type="ul">TVDB_Timeout<br /> Timeout in Sekunden</li> <li data-xf-list-type="ul">TVDB_OverwritePlot<br /> Wenn der Wert auf "true" steht, wird der Plot im EPG immer mit dem Plot von TVDB überschrieben.<br /> Leere Plots im EPG werden generell mit dem Plot von TVDB überschrieben</li> <li data-xf-list-type="ul">TVDB_Overwrite_Serie_and_Episode<br /> Überschreibt den Serien- und Episodennamen</li> <li data-xf-list-type="ul">MP2_TVDB_Cache<br /> Gibt den Ordner zum MediaPortal 2 TVDB-Cache an</li> </ul><p></p><p><strong>Parameter:</strong></p><p>[code]</p><p>--input:"Ordner und Dateiname zur tvguide.xml"</p><p>--output:"Ordner und Dateiname der Ausgabedatei"</p><p>[/code]</p><p></p><p>Wenn --output nicht angegeben wurde, wird die Datei vom --input-Parameter benutzt. von der Originaldatei wird eine Sicherung angelegt.</p><p>Dort wo sich die tvguide.xml befindet muss auch die Datei xmltv.dtd liegen.</p><p></p><p><strong>Was wird benötigt?</strong></p><p>E2T benötigt das Microsoft Framework .NET 4.5. Somit ist E2T nicht unter Windows XP lauffähig.</p><p>Bei der Entwicklung habe ich aber eine kleine Besonderheit berücksichtigt: E2T ist über die Anwendung Mono auf Linux lauffähig. Somit kann, wenn euer EPG z.B. von einem Raspberry Pi oder Banana Pi gegrabbt wird, nach dem Ermitteln der EPG-Daten E2T über die Daten gejagt und somit angepasst werden. Ebenso kann E2T auf einem vServer benutzt werden.</p><p>Getestet habe ich das ganze mit Debian Jessie und Mono 4.2.1 stable.</p><p></p><p>Ich hoffe ich habe nichts vergessen und wenn doch... einfach Fragen. Ihr wisst ja wie das Forum funktioniert <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite8" alt=":D" title="Big Grin :D" loading="lazy" data-shortname=":D" /></p><p><strong></strong></p><p><strong>Changelog für v0.18.119</strong></p><ul> <li data-xf-list-type="ul">Erhöhung der Erkennungsrate bei den Episodennamen</li> </ul><p>[SPOILER="Ältere Changelogs"]</p><p><strong>Changelog für v0.16.73</strong></p><ul> <li data-xf-list-type="ul">Ungültige Zeichen werden aus der XML-Datei von TheTvDB direkt herausgefiltert. Danke [USER=109222]@Lehmden[/USER]</li> </ul><p><strong>Changelog für v0.16.71</strong></p><ul> <li data-xf-list-type="ul">Ausgaben sind nun in Englisch</li> <li data-xf-list-type="ul">Beim Herunterladen von Serieninfos gab es ab und an Fehler. Die sollten nun behoben sein.</li> <li data-xf-list-type="ul">Beim Beenden wird die Dauer in Sekunden angegeben wie lange E2T gearbeitet hat.</li> </ul><p><strong>Changelog für v0.15.51</strong></p><ul> <li data-xf-list-type="ul">Beim Ersetzen der Tags wurden nicht alle Werte korrekt übernommen</li> </ul><p><strong>Changelog für v0.15.50</strong></p><ul> <li data-xf-list-type="ul">Leere Tags werden nicht mehr gespeichert.</li> <li data-xf-list-type="ul">Beschreibungen werden, bevor sie von TvDB kommen, bereinigt.</li> </ul><p><strong>Changelog für v0.15.47</strong></p><ul> <li data-xf-list-type="ul">Bei manchen Sendungen kommt der "Title" -Tag öfter vor. Dieser wurde auch öfter bei der Replace-Funktion benutzt.<br /> Nun werden die Tags "Title", "Sub-Title" und "Desc" einmal verwendet.</li> </ul><p><strong>Changelog für v0.15.46</strong></p><ul> <li data-xf-list-type="ul">Wenn mehrere Seriennamen bei TvDB für eine Serie gefunden wurden, werden alle Serien abgearbeitet.</li> <li data-xf-list-type="ul">Sollte eine Episode nicht gefunden werden, gibt es eine alternative Suchfunktion welche über die Konfigurationsdatei aktivierbar ist. Die Suche wird nur benutzt wenn noch keine Episodennummer gefunden wurde</li> </ul><p><strong>Changelog für v0.13.45</strong></p><ul> <li data-xf-list-type="ul">Die ReplaceString-Funktion ersetzt alle vorkommenden Zeichen, egal an welcher Stelle, in der Beschreibung</li> </ul><p><strong>Changelog für v0.13.44</strong></p><ul> <li data-xf-list-type="ul">Die ReplaceString-Funktion hat zuvor immer am Anfang und am Ende der Werte die Zeichen ersetzt. Dadurch wurde vermieden das z.B. bei 'Woche( n )' das ( n ) ersetzt wurde. Sofern Woche( n ) nicht am Ende der Beschreibung stand <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile :)" loading="lazy" data-shortname=":)" /><br /> Jetzt wird jede Zeile, sofern vorhanden, bei den Werten einzeln geprüft. Sollte also die Beschreibung mehrere Zeilen haben, wird jede Zeile einzeln geprüft. Aber auch hier nur am Anfang und am Ende</li> <li data-xf-list-type="ul">Bei den zu ersetzenden Variablen wurden diese immer mit dem Wert des ersten Vorkommnisses überschrieben. Nun werden alle Werte des passenden Tags zusammengefasst und mit einem Komma getrennt.</li> </ul><p><strong>Changelog für v0.12.38</strong></p><ul> <li data-xf-list-type="ul">Neue Werte in der Konfigurationsdatei<br /> Nach Wunsch von [USER=107846]@pünktchen[/USER] habe ich die Einstellungsdatei um drei weitere Werte erweitert: New_Title, New_Sub_Title, New_Desc<br /> Hiermit ist es möglich den Namen der Sendung (Title), den Namen der Episode (Sub_Title) und die Beschreibung (Desc) anzupassen. Das Aussehen wird einfach in der XML-Datei bei den jeweiligen Einträgen hinterlegt. Wenn eine Bezeichnung in $ gesetzt wird, wird dies als Feld aus der tvguide.xml gewertet und von dort der passende Wert genommen.<br /> Beispiel: <br /> [code=xml]<br /> <New_Title>$title$ ($length$ Min.)</New_Title><br /> [/code]<br /> Hier wird der Titel um die Länge der Sendung und den Text Min. erweitert.<br /> Nachdem die Beschreibungen angepasst wurden, werden alle Einträge gesäubert. Das heißt, sollte in unserem Beispiel keine Länger verfügbar sein, müsste man im <Replace_Strings> Segment folgenden Zeichenkette hinzufügen: "( Min.)" damit der Leereintrag entfernt wird.</li> </ul><p><strong>Changelog für v0.11.28</strong></p><ul> <li data-xf-list-type="ul">Bessere Erkennung bei Episoden. <br /> Wenn eine Episode bei TvDB eine Folgennummer besitzt (z.B. Castle - Countdown (2)) wird diese bei der Erkennung entfernt. <br /> Wenn die Episode im EPG eine Folgennummer hat, bleiben diese bestehen.</li> </ul><p><strong>Changelog für v0.10.26</strong></p><ul> <li data-xf-list-type="ul">Erste Programmversion</li> </ul><p>[SPOILER][/SPOILER][/SPOILER]</p></blockquote><p></p>
[QUOTE="lightshock, post: 1173478, member: 76421"] Hi, ich konnte es mal wieder nicht lassen und habe ein kleines Programm geschrieben das ich euch, vor allem den TV-Schauern unter euch, nicht vorenthalten möchte. [USER=109222]@Lehmden[/USER] hatte mich letztes Jahr gefragt ob ich denn ein Programm machen könnte um den EPG, genauer gesagt die Datei in der sich der EPG vor dem Import in MediaPortal befindet, zu modifizieren. Klar, ist machbar habe ich gesagt und wie haben uns im Detail unterhalten. Bei vielen EPG-Anbieter wird der Inhalt der Sendung nicht unbedingt gut gepflegt. Da fehlt die korrekte Staffel- und Episodennummer der Sendung, der Plot ist nicht gefüllt oder die Namen der Serie und Episode werden nicht getrennt. Da [USER=109222]@Lehmden[/USER], unter anderem, bekannt dafür ist viele Aufnahmen zu haben, man aber immer viel Zeit investieren muss um herauszubekommen ob man nun eine Episode der Staffel schon hat oder nicht, haben wir versucht die Arbeit auf ein Programm abzuwälzen. So entstand Episodes2TVGuide. Oder kurz E2T. Der Vorteil an E2T ist, das die Datei, in welcher sich das EPG befindet, vor dem Importieren in die MediaPortal-Datenbank (egal ob Version 1 oder 2) angepasst wird. [B]Was macht E2T?[/B] E2T verarbeitet die komplette tvguide.xml und versucht über die Webseite TheTVDB zu ermitteln, ob es sich bei der Sendung um eine Serie handelt. Wenn eine Serie gefunden wurde, werden die Informationen zu dieser Serie in einen Cache-Ordner geladen. Wenn MediaPortal 2 installiert ist, wird auch auf diesen Cache zugegriffen. Bei einer Übereinstimmung wird die korrekte Staffel- und Episodennummer abgespeichert. Zusätzlich besteht die Möglichkeit den Plot, sowie den Serien- und Episodennamen zu übernehmen. Wenn eine Sendung nicht in der angegebenen Sprache gefunden wurde, wird im englischsprachigen Bereich gesucht. Sollten wir hier fündig werden, werden von dort die Daten genommen. [B]Vorgehensweise und Parameter:[/B] E2T ist ein Kommandozeilenprogramm. Der erste Aufruf legt die benötigten Dateien und Ordner an. Alle Dateien und Ordner liegen im selben Ordner wie E2T. Der erste Aufruf sollte ohne ein Parameter sein. Danach wird eine Konfigurationsdatei mit dem Namen "Episodes2TVGuide.xml" erstellt. Diese sollte vor dem nächsten Start bearbeitet werden. Viele Bereiche sind selbsterklärend, aber ich gehe trotzdem kurz darauf ein. [LIST] [*]CharToFindEpisode Hier werden die Trennzeichen hinterlegt mit denen versucht wird eine Episode zu finden. Manche EPG-Anbieter schreiben in den Sendungstitel: "Flash - Der rote Blitz: Der programmierte Doppelgänger". Dies ist für E2T keine eindeutige Serie. Darum wird jedes Trennzeichen das in der Liste benutzt um den Bereich zwischen Serie und Episode zu trennen. Zu beachten ist die Reihenfolge der Trennzeichen. Würde ein Minus vor dem Doppelpunkt als Trennzeichen kommen, würde die Serie "Flash" und die Episode "Der rote Blitz: Der programmierte Doppelgänger" heißen. Dies wird leider nicht bei TVDB gefunden. [*]RemoveTags Bei vielen EPG-Anbietern werden weitere Informationen wie z.B. Darsteller, Bewertungen usw mitgeliefert. Programme wie MediaPortal z.B. nutzen diese Information nicht. Also können diese auch aus der Datei entfernt werden. [*]Replace_Strings Einige EPG-Anbieter schreiben in den Plot unnütze Zeichen wie z.B. "()" oder "( n )". Diese können hiermit entfernt werden [*]TVDB_Language Gibt die Sprache an in welcher nach der Serie gesucht wird. [*]TVDB_Timeout Timeout in Sekunden [*]TVDB_OverwritePlot Wenn der Wert auf "true" steht, wird der Plot im EPG immer mit dem Plot von TVDB überschrieben. Leere Plots im EPG werden generell mit dem Plot von TVDB überschrieben [*]TVDB_Overwrite_Serie_and_Episode Überschreibt den Serien- und Episodennamen [*]MP2_TVDB_Cache Gibt den Ordner zum MediaPortal 2 TVDB-Cache an [/LIST] [B]Parameter:[/B] [code] --input:"Ordner und Dateiname zur tvguide.xml" --output:"Ordner und Dateiname der Ausgabedatei" [/code] Wenn --output nicht angegeben wurde, wird die Datei vom --input-Parameter benutzt. von der Originaldatei wird eine Sicherung angelegt. Dort wo sich die tvguide.xml befindet muss auch die Datei xmltv.dtd liegen. [B]Was wird benötigt?[/B] E2T benötigt das Microsoft Framework .NET 4.5. Somit ist E2T nicht unter Windows XP lauffähig. Bei der Entwicklung habe ich aber eine kleine Besonderheit berücksichtigt: E2T ist über die Anwendung Mono auf Linux lauffähig. Somit kann, wenn euer EPG z.B. von einem Raspberry Pi oder Banana Pi gegrabbt wird, nach dem Ermitteln der EPG-Daten E2T über die Daten gejagt und somit angepasst werden. Ebenso kann E2T auf einem vServer benutzt werden. Getestet habe ich das ganze mit Debian Jessie und Mono 4.2.1 stable. Ich hoffe ich habe nichts vergessen und wenn doch... einfach Fragen. Ihr wisst ja wie das Forum funktioniert :D [B] Changelog für v0.18.119[/B] [LIST] [*]Erhöhung der Erkennungsrate bei den Episodennamen [/LIST] [SPOILER="Ältere Changelogs"] [B]Changelog für v0.16.73[/B] [LIST] [*]Ungültige Zeichen werden aus der XML-Datei von TheTvDB direkt herausgefiltert. Danke [USER=109222]@Lehmden[/USER] [/LIST] [B]Changelog für v0.16.71[/B] [LIST] [*]Ausgaben sind nun in Englisch [*]Beim Herunterladen von Serieninfos gab es ab und an Fehler. Die sollten nun behoben sein. [*]Beim Beenden wird die Dauer in Sekunden angegeben wie lange E2T gearbeitet hat. [/LIST] [B]Changelog für v0.15.51[/B] [LIST] [*]Beim Ersetzen der Tags wurden nicht alle Werte korrekt übernommen [/LIST] [B]Changelog für v0.15.50[/B] [LIST] [*]Leere Tags werden nicht mehr gespeichert. [*]Beschreibungen werden, bevor sie von TvDB kommen, bereinigt. [/LIST] [B]Changelog für v0.15.47[/B] [LIST] [*]Bei manchen Sendungen kommt der "Title" -Tag öfter vor. Dieser wurde auch öfter bei der Replace-Funktion benutzt. Nun werden die Tags "Title", "Sub-Title" und "Desc" einmal verwendet. [/LIST] [B]Changelog für v0.15.46[/B] [LIST] [*]Wenn mehrere Seriennamen bei TvDB für eine Serie gefunden wurden, werden alle Serien abgearbeitet. [*]Sollte eine Episode nicht gefunden werden, gibt es eine alternative Suchfunktion welche über die Konfigurationsdatei aktivierbar ist. Die Suche wird nur benutzt wenn noch keine Episodennummer gefunden wurde [/LIST] [B]Changelog für v0.13.45[/B] [LIST] [*]Die ReplaceString-Funktion ersetzt alle vorkommenden Zeichen, egal an welcher Stelle, in der Beschreibung [/LIST] [B]Changelog für v0.13.44[/B] [LIST] [*]Die ReplaceString-Funktion hat zuvor immer am Anfang und am Ende der Werte die Zeichen ersetzt. Dadurch wurde vermieden das z.B. bei 'Woche( n )' das ( n ) ersetzt wurde. Sofern Woche( n ) nicht am Ende der Beschreibung stand :) Jetzt wird jede Zeile, sofern vorhanden, bei den Werten einzeln geprüft. Sollte also die Beschreibung mehrere Zeilen haben, wird jede Zeile einzeln geprüft. Aber auch hier nur am Anfang und am Ende [*]Bei den zu ersetzenden Variablen wurden diese immer mit dem Wert des ersten Vorkommnisses überschrieben. Nun werden alle Werte des passenden Tags zusammengefasst und mit einem Komma getrennt. [/LIST] [B]Changelog für v0.12.38[/B] [LIST] [*]Neue Werte in der Konfigurationsdatei Nach Wunsch von [USER=107846]@pünktchen[/USER] habe ich die Einstellungsdatei um drei weitere Werte erweitert: New_Title, New_Sub_Title, New_Desc Hiermit ist es möglich den Namen der Sendung (Title), den Namen der Episode (Sub_Title) und die Beschreibung (Desc) anzupassen. Das Aussehen wird einfach in der XML-Datei bei den jeweiligen Einträgen hinterlegt. Wenn eine Bezeichnung in $ gesetzt wird, wird dies als Feld aus der tvguide.xml gewertet und von dort der passende Wert genommen. Beispiel: [code=xml] <New_Title>$title$ ($length$ Min.)</New_Title> [/code] Hier wird der Titel um die Länge der Sendung und den Text Min. erweitert. Nachdem die Beschreibungen angepasst wurden, werden alle Einträge gesäubert. Das heißt, sollte in unserem Beispiel keine Länger verfügbar sein, müsste man im <Replace_Strings> Segment folgenden Zeichenkette hinzufügen: "( Min.)" damit der Leereintrag entfernt wird. [/LIST] [B]Changelog für v0.11.28[/B] [LIST] [*]Bessere Erkennung bei Episoden. Wenn eine Episode bei TvDB eine Folgennummer besitzt (z.B. Castle - Countdown (2)) wird diese bei der Erkennung entfernt. Wenn die Episode im EPG eine Folgennummer hat, bleiben diese bestehen. [/LIST] [B]Changelog für v0.10.26[/B] [LIST] [*]Erste Programmversion [/LIST] [SPOILER][/SPOILER][/SPOILER] [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Language specific support
Deutsches MediaPortal Forum
Hard- und Software rund um den HTPC
Software
3rd Party Software
Episodes2TVGuide (E2T) - Anpassen der tvguide.xml
Contact us
RSS
Top
Bottom