---
name: "XMLTV::Configure"
section: "3pm"
platform: "linux"
package: "libxmltv-perl"
version: "1.4.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/XMLTV::Configure"
---

# XMLTV::Configure(3pm)

Configuration file handling for XMLTV grabbers

## NAME

XMLTV::Configure - Configuration file handling for XMLTV grabbers

## DESCRIPTION

Utility library that helps grabbers read from configuration files and implement a configuration method that can be run from the command-line.

## EXPORTED FUNCTIONS

All these functions are exported on demand.

- LoadConfig

  Takes the name of the configuration file to load as a parameter.

  Returns a hashref with configuration fieldnames as keys. Note that the values of the hash are references to an array of values.

  Example:\
     {\
       username =\> \[ 'mattias' \],\
       password =\> \[ 'xxx' \],\
       channel =\> \[ 'svt1.svt.se', 'kanal5.se' \],\
       no\_channel =\> \['svt2.svt.se' \],\
     }

  Note that unselected options from a selectmany are collected in an entry named after the key with a prefix of 'no\_'. See the channel and no\_channel entry in the example. They are the result of a selectmany with id=channel.

  The configuration file must be in the format described in the file "ConfigurationFiles.txt". If the file does not exist or if the format is wrong, LoadConfig returns undef.

- SaveConfig

  Write a configuration hash in the format returned by LoadConfig to a file that can be loaded with LoadConfig. Takes two parameters, a reference to a configuration hash and a filename.

  Note that a grabber should normally never have to call SaveConfig. This is done by the Configure-method.

- Configure

  Generates a configuration file for the grabber.

  Takes three parameters: stagesub, listsub and the name of the configuration file.

  stagesub shall be a coderef that takes a stage-name or undef and a configuration hashref as a parameter and returns an xml-string that describes the configuration necessary for that stage. The xml-string shall follow the xmltv-configuration.dtd.

  listsub shall be a coderef that takes a configuration hash as returned by LoadConfig as the first parameter and an option hash as returned by ParseOptions as the second parameter and returns an xml-string containing a list of all the channels that the grabber can deliver data for using the supplied configuration. Note that the listsub shall not use any channel-configuration from the hashref.

## COPYRIGHT

Copyright (C) 2005 Mattias Holmlund.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
