epgsearchuservars.conf(5)

NAME
epgsearchuservars.conf – benutzerdefinierte Variablen

BESCHREIBUNG
In dieser Datei können Variablen definiert werden, die in EPGSearch überall zur Verfügung stehen, wo Variablen zulässig sind. Dies gilt beispielsweise für das Standard-Aufnahmeverzeichnis eines manuell erstellten Timers, das Aufnahmeverzeichnis eines Suchtimers oder ein benutzerdefiniertes EPG-Menü.

FORMAT
Eine Variable hat die Syntax '%Variablenname%'. Ihr Name darf ausschließlich alphanumerische Zeichen enthalten, jedoch keine Leerzeichen oder andere Sonderzeichen – auch keine Umlaute.

Beispiele für zulässige Namen:

    %Serie%
    %DokuVar1%
    %ThemaUntertitelDatum%

Bei Variablennamen wird nicht zwischen Groß- und Kleinschreibung unterscheiden.

  Zuweisung
Variablen werden immer Zeichenfolgen zugewiesen, deren Leerzeichen erhalten bleiben. Die folgenden Beispiele veranschaulichen dies:

    %Serien%=Neue Serien~Krimis

Der Variable '%Serien%' wird die Zeichenfolge "Neue Serien~Krimis" zugewiesen. Sie lässt sich beliebig weiterverwenden:

    %Pfad%=%Serien%

Der Variable '%Pfad%' wird der Inhalt der Variable '%Serien%' zugewiesen.

    %Pfad%=%Serien%~Tatort

Die Variable '%Pfad%' enthält die Zeichenfolge "Neue Serien~Krimis~Tatort".

  Bedingte Zuweisung
Für Zuweisungen werden einfache Wenn-dann-sonst-Konstrukte mittels bedingter Ausdrücke ('wenn ? dann : sonst') unterstützt. Bedingte Ausdrücke dürfen keine Zeichenfolgen enthalten, sondern nur Variablen; Leerzeichen werden ignoriert.

    %Foo%=Verschiedenes
    %Variable%=%Pfad% ? %Pfad% : %Foo%

Beim ternären Operator '?:' steht der Ausdruck '%Pfad% ?' für die Bedingung "Pfad nicht leer?". Wenn dies zutrifft, wird '%Variable%' der Inhalt von '%Pfad%' zugewiesen, andernfalls der Inhalt von '%Foo%'.

Auch andere Prüfungen sind möglich:

    == gleich
    != ungleich

So zum Beispiel:

    %Variable%=%Pfad%!=5 ? %Pfad% : %Foo%

Die Bedingung '%Path%!=5 ?' bedeutet "ist '%Pfad%' ungleich 5?".

Der Vergleich von Variablen ist ebenfalls möglich:

    %Fuenf%=5
    %Variable%=%Pfad%!=%Fuenf% ? %Pfad% : %Foo%

Man beachte, dass der Variablenname '%Fünf%' aufgrund des Umlauts ungültig wäre.

  Aufruf von Systemkommandos
Während der Variablenauswertung können auch externe Befehle aufgerufen werden. Die zurückgegebene Zeichenfolge wird der jeweiligen Variablen zugewiesen:

    %Ergebnis%=system(<Skriptname>[, <Parameter>])

Ruft das Skript Skriptname mit den in der optionalen Liste 'Parameter' angegebenen Parametern auf. Ein solcher Parameter kann ein beliebiger Ausdruck sein, der gegebenenfalls andere Variablen enthält, jedoch kein Systemaufruf oder bedingter Ausdruck.

Beispiel:

    %Ergebnis%=system(/usr/local/bin/mein-skript.sh, -t %Title% -s %Subtitle% -u %EineAndereVariable%)

Als Parameter verwendete Variablen werden bei Bedarf in einfache Anführungszeichen (Apostrophe) gesetzt.

Das Skript sollte einen String ohne Zeilenvorschübe zurückgeben, da deren Entfernung zu unerwünschten Ergebnissen führen kann. Wenn das Skript nichts zurückgibt, wird der Variable '%Ergebnis%' ein leerer String zugewiesen.

  Aufruf von TCP-Diensten
in TCP-Dienst kann mit der folgenden Syntax aufgerufen werden:

    %Ergebnis%=connect(<Adresse>, <Port>, [<Daten>])

Dadurch wird eine Verbindung zu 'Adresse' über den angegebenen 'Port' hergestellt und die optionalen 'Daten' übergeben. Der Parameter 'Adresse' kann eine IP-Adresse oder der Domänenname eines TCP-Dienstes sein. Das vom Dienst zurückgegebene Ergebnis muss mit einem Zeilenvorschub abgeschlossen sein.

  Länge von Argumenten
Bei der Übergabe von Werten an Verbindungs- oder Systembefehle kann es hilfreich sein, zum einfacheren Parsen die Länge eines Arguments zu kennen. Diese lässt sich wie folgt ermitteln:

    %Ergebnis%=length(<beliebige Argumente>)

Beispiel:

    %Titellaenge%=length(%Title%)

  Weitere Variablen
Eine Liste der internen Variablen findet sich in epgsearchmenu.conf(5). Darüber hinaus kann jede in epgsearchcats.conf definierte Variable verwendet werden; siehe hierzu auch epgsearchcats.conf(5).

BEISPIEL
 # Wochentag, Datum, Uhrzeit
 %Datum%=%time_w% %date% %time%

 # Thema oder Untertitel oder Datum
 %UntertitelDatum%=%Subtitle% ? %Subtitle% : %Datum%
 %ThemaUntertitelDatum%=%Themes% ? %Themes% : %UntertitelDatum%

 # Aufruf des Skripts, das den Aufnahmepfad erzeugt
 %DokuScript%=system(doku.pl,%Title%,%Subtitle%,%Episode%,%Themes%,%Category%,%Genre%)
 %Doku%=%DokuScript%

AUTOREN (Man-Pages)
Ursprünglich erstellt von Mike Constabel <epgsearch (at) constabel (dot) net>.

Überarbeitet und an die aktuellen Features von EPGSearch adaptiert durch die derzeitigen Maintainer.

PROJEKTSEITE
Das Plugin wird als Projekt auf GitHub geführt:

<https://github.com/vdr-projects/vdr-plugin-epgsearch/>

FEHLER MELDEN
Fehlerberichte sowie Feature-Anfragen können über den Bugtracker des Projekts eingespeist werden:

<https://github.com/vdr-projects/vdr-plugin-epgsearch/issues/>

COPYRIGHT und LIZENZ
Copyright © 2004-2010 Christian Wieninger

Copyright © 2011-2025 TomJoad (VDR-Portal) et al.

Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder (nach Ihrer Option) jeder späteren Version.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.

Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, schreiben Sie an die Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Oder rufen Sie in Ihrem Browser <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html> auf.

Der ursprüngliche Autor kann über cwieninger@gmx.de erreicht werden.

Die aktuellen Maintainer können über die Projektseite auf GitHub (siehe oben) erreicht werden.

Der MD5-Code ist abgeleitet aus dem Message-Digest-Algorithmus MD5 von RSA Data Security, Inc.

SIEHE AUCH
epgsearch(1), epgsearch(4), epgsearchcats.conf(5), epgsearchmenu.conf(5)