epgsearchuservars.conf - Man Page

epgsearchuservars.conf – user-defined variables

Description

This file defines variables that can be used in EPGSearch wherever variables are applicable. This, for example, applies for the default recording directory of a manually created timer, the recording directory of a search timer, or a customized EPG menu.

Syntax

A variable has the syntax %VariableName%. Its name can comprise all alphanumeric characters, but no spaces or other special characters.

Examples for possible names:

    %Series%
    %DocuVar1%
    %ThemesSubtitleDate%

Variable names are case-insensitive.

Assignment

Variables always get assigned strings whose spaces are retained. This is illustrated by the following examples:

    %Series%=New series~Thrillers

The variable %Series% will be assigned the string "New series~Thrillers". This can be used arbitrarily:

    %Path%=%Series%

The variable %Path% gets the content of the variable %Series% assigned.

    %Path%=%Series%~Lost

The variable %Path% contains the string "New series~Thrillers~Lost".

Conditional assignment

Simple if-then-else constructs for assignments are supported by means of conditional expressions if ? then : else. Conditional expressions cannot contain strings, only variables; spaces are ignored.

    %Foo%=Other
    %Variable%=%Path% ? %Path% : %Foo%

For the ternary operator ?:, the expression %Path% ? means "path not empty?". If this is true, %Variable% gets assigned the content of %Path%, else the content of %Foo%.

Other checks are supported as well:

== equal

!= not equal

Thus, for example:

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

The condition %Path%!=5 ? means "is %Path% not equal 5?".

Comparing variables is also feasible:

    %Five%=5
    %Variable%=%Path%!=%Five% ? %Path% : %Foo%

Calling a system command

External commands can be called during variable evaluation as well. The returned string will be assigned to the respective variable:

    %UserVar%=system(<script-name>[, <parameters>])

Calls the script script-name with the parameters supplied in the optional list parameters. Such a parameter can be an arbitrary expression, optionally containing other variables, but no system call or conditional expression.

Example:

    %Result%=system(/usr/local/bin/my-script.sh, -t %Title% -s %Subtitle% -u %MyOtherVar%)

Variables used as parameters will be enclosed in single quotes (apostrophes), if needed.

The script should return a string without line feeds, since their removal may cause undesired results. If the script does not return anything, an empty string will be assigned to the variable %Result%.

Calling a TCP service

A TCP service can be called with the following syntax:

    %Result%=connect(<address>, <port>, [<data>])

This will connect to address through the given port and pass the optional data. The parameter address can be an IP address or the domain name of a TCP service. The result returned by the service must be terminated with a line feed.

Getting the length of an argument

When passing values to the connect or system command, it can be helpful to have the length of an argument for simple parsing. The length can be retrieved by:

    %Result%=length(<any arguments>)

Example:

    %TitleLength%=length(%title%)

Other variables

Refer to epgsearchmenu.conf(5) for a list of built-in variables. Furthermore, every variable defined in epgsearchcats.conf can be used; see epgsearchcats.conf(5) for details.

Example

    # Weekday, Date, Time
    %DateStr%=%time_w% %date% %time%

    # Themes or Subtitle or Date
    %SubtitleDate%=%Subtitle% ? %Subtitle% : %DateStr%
    %ThemesSubtitleDate%=%Themes% ? %Themes% : %SubtitleDate%

    # Calls a script to get a recording path
    %DocuScript%=system(docu.pl, -t %Title% -s %Subtitle% -e %Episode% -th %Themes% -c %Category% -g %Genre%)
    %Docu%=%DocuScript%

AUTHORS (man pages)

Originally provided by Mike Constabel <epgsearch (at) constabel (dot) net>.

Revised and adapted to recent plugin features by the current maintainers.

Project Site

The plugin is maintained as GitHub project:

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

Reporting Bugs

Issues can be reported, and features be suggested, through the project's bug tracker:

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

See Also

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

Referenced By

epgsearch(1), epgsearch(4), epgsearchdirs.conf(5), epgsearchmenu.conf(5).

2026-03-23 perl v5.42.1 EPGSearch Version 2.4.6