Hallo,
zuerst einmal, das ist nix fertiges/releasereifes. Es richtet sich an Bastler denen die Möglichkeiten von epgsearch/vdrseriestimer manchmal einfach nicht ausreichen. Es werden grundlegende Linuxkenntnisse verlangt, mit ner C&P Installationsanweisung kommt man hier nicht weiter.
Ich lade das was ich aktuell habe einfach mal hoch um überhaupt erstmal zu sehen ob an so was überhaupt generell Interesse besteht (ist schon eher was für Freaks/Extremserienaufnehmer). Das Archiv auch nicht einfach entpacken sondern erst mal an der GUI reinschauen (ich hab einfach so aus meinem Dateisystem rauskopiert).
OK, worum gehts... Im Prinzip ist es das selbe Prinzip wie beim vdrseriestimer Addon.
Beim Aufruf wird aber zuerst immer generell der komplette EPG Eintrag vom VDR geholt (per resfullapi/dbus2vdr kein Problem), per vdrserietimer der Episodentitel nachgeschlagen und das Ergebnis (wenn es eines gab) im EPG gespeichet.
Wurde der EPG Eintrag irgendwie geändert wird er wieder dem VDR übergeben und der Episodentitel auf stdout ausgegeben (nur falls es einen Treffer gab).
Hier der erste Vorteil, da das Ergebnis im EPG Eintrag gespeichert wird ist ein erneuter Aufruf des Scriptes beim nächsten Suchtimerupdate überflüssig. Die Geschwindigkeit und Last des Suchtimerupdates wird (gerade bei sehr vielen Treffern) also deutlich verbssert.
Ferner werden nach dem Lesen des EPG Eintrages im Verzeichis <VDRCONFDIR>/plugins/epgsearch/modepg vorhandere Python Snippeds aufgerufen. Diese haben den EPG Eintrag in Form eines einfach zu nutzenden Obejektes (Das Interface ist bewusst nicht Python like, erinnert eher an sowas wie Basic ) zur Verfügung und können es beliebig manipulieren.
https://dl.dropboxusercontent.…dEPG.vdrepg.EPGevent.html
Beispiel: Man will eine Season einer bestimmten Serie nicht aufzeichnen wei man sie schon anderweitig gesehen hat. Dann erstellt man eine Datei mit folgenden Inhalt:
if epg.gettitle() == "Fringe - Grenzfälle des FBI":
series_found, episode_found, series, episode_title, season, episode, ststring = epg.do_lookup()
if episode_found:
if season == 3:
epg.set_return_invalid()
Anmerkungen:
- Eplists.pm aus dem vdrseriestimer Packet muss gepatcht weren (ugly, aber ich habs nicht besser hinbekommen).
- xmltv2vdr muss gepatcht weden damit es die geänderten EPG Einträge in Ruhe lässt
- Es wird das epgfreeze Plugin (immer noch im ersten Teststadium aber funktionell) benötigt damit die geänderten EPG Einträge nicht durchs Sender EPG überschrieben werden (Änderungen und Updates werden trozdem berücksichtigt). epgfreeze vor xmltv2vdr starten. Die Zusammenarbeit mit anderen EPG Handler Plugins ist nicht getestet.
Aber evtl. findet sich hier ja auch ne allgm. Vereinbarung für die Verwendung der Streams?
- epgsearch hat nen Bug, beim ersten Aufruf per system wird der zurückgegebene Subtitle verdoppelt. D.h. kommt "Futurama~01x05 eine lustige Episode" als Ergebnis zurück wird es im Verzeichnis "Futurama/01x05 eine lustige Episode/Futurama/01x05 eine lustige Episode" aufgezeichnet. Niemand weiss warum das so ist
https://dl.dropboxusercontent.…6648062/modepg/modepg.tgz
Wie gesagt, einfach mal nur zum Spielen für alle die Interesse am Thema haben und zum hier drüber reden. Nix fertiges.
Edit: Das wichtigste hätte ich benahe vergessen
Durch das ändern des EPG landen die Subtile auch "normiert" (d.h. auch keine doppelten Aufnahmen wenn Sender leicht untershcidliche Episodentitel für die selben Episoden vewenden) und mit vorangestellten "<SS>x<EE>" in der epgsearchdone.data. Das ist natürlich ein Problem wen eine Serie schon halb aufgezeichnet wurde. Deswegen gibt es mehere Variablen
%LookupEpisode%: Das selbe wie %serie" beim addon-vdr-seriestimer
%LookupEpisodeModEpg%: Hier wird der Subtitle im EPG geändert
%FilterParts%: Die Voreinstellung nicht nachschlagen und nicht speichern. Gedacht wen man hier nur die Parts anwenden will.
Die Auswertung ist aber noch nicht drin, im Moment geht nur %LookupEpisodeModEpg%
cu