.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "TV_GRAB_UK_TVGUIDE 1p" .TH TV_GRAB_UK_TVGUIDE 1p "2021-02-09" "perl v5.32.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" tv_grab_uk_tvguide \- Grab TV listings for UK from the TV Guide UK website. .SH "DESCRIPTION" .IX Header "DESCRIPTION" Output \s-1TV\s0 listings in \s-1XMLTV\s0 format for many channels available in \s-1UK.\s0 The data come from tvguide.co.uk .PP First you must run \fBtv_grab_uk_tvguide \-\-configure\fR to choose which channels you want to receive. .PP Then running \fBtv_grab_uk_tvguide\fR with no arguments will get a listings in \s-1XML\s0 format for the channels you chose for available days including today. .SH "OPTIONS" .IX Header "OPTIONS" Please see \fBtv_grab_uk_tvguide \-\-help\fR .PP Additional options may be specified on the commandline. use \-\-nodetailspage to only fetch the main details of the programme schedule. (May be useful if you have problems accessing the tvguide website.) Channel ids were made compliant with the \s-1XMLTV\s0 specification in December 2020. Use \-\-legacychannels to output channel ids in the previous format (i.e. number only). .SH "INSTALLATION" .IX Header "INSTALLATION" The file \fItv_grab_uk_tvguide.map.conf\fR has two purposes. Firstly you can map the channel ids used by the site into something more meaningful to your \s-1PVR. E\s0.g. .PP .Vb 1 \& map==74==BBC 1 .Ve .PP will change \*(L"74\*(R" to \*(L"\s-1BBC 1\*(R"\s0 in the output \s-1XML.\s0 .PP Note: the lines are of the form \*(L"map=={channel id}=={my name}\*(R". .PP The second purpose is to likewise translate genre names. So if your \s-1PVR\s0 doesn\*(L"t have a category for \*(R"Science Fiction\*(L" but uses \*(R"Sci-fi" instead, then you can specify .PP .Vb 1 \& cat==Science Fiction==Sci\-fi .Ve .PP and the output \s-1XML\s0 will have \*(L"Sci-fi\*(R". .PP \&\s-1IMPORTANT:\s0 the downloaded \*(L"tv_grab_uk_tvguide.map.conf\*(R" contains example lines to illustrate the format \- you should edit this file to suit your own purposes! .SH "ERROR HANDLING" .IX Header "ERROR HANDLING" If the grabber fails to download data for some channel on a specific day, it will print an errormessage to \s-1STDERR\s0 and then continue with the other channels and days. The grabber will exit with a status code of 1 to indicate that the data is incomplete. .SH "ENVIRONMENT VARIABLES" .IX Header "ENVIRONMENT VARIABLES" The environment variable \s-1HOME\s0 can be set to change where configuration files are stored. All configuration is stored in \f(CW$HOME\fR/.xmltv/. On Windows, it might be necessary to set \s-1HOME\s0 to a path without spaces in it. .SH "SUPPORTED CHANNELS" .IX Header "SUPPORTED CHANNELS" For information on supported channels, see http://tvguide.co.uk/ .SH "XMLTV VALIDATION" .IX Header "XMLTV VALIDATION" \&\fBtv_validate_grabber\fR may report an error similar to: .PP .Vb 1 \& "Line 5 Invalid channel\-id BBC 1" .Ve .PP This is a because ValidateFile.pm insists the channel-id adheres to \s-1RFC2838\s0 despite the xmltv.dtd only saying \*(L"preferably\*(R" not \*(L"\s-1SHOULD\*(R".\s0 (Having channel ids of the form \*(L"bbc1.bbc.co.uk\*(R" will be rejected by many PVRs since they require the data to match their own list.) .PP It may also report: .PP .Vb 1 \& "tv_sort failed on the concatenated data. Probably due to overlapping data between days." .Ve .PP Both these errors can be ignored. .SH "DISCLAIMER" .IX Header "DISCLAIMER" The \s-1TV\s0 Guide website"s license for these data does not allow non-personal use. .PP Certainly any commercial use of listings data obtained by using this grabber will breach copyright law, but if you are just using the data for your own personal use then you are probably fine. .PP By using this grabber you aver you are using the listings data for your own personal use only and you absolve the author(s) from any liability under copyright law or otherwise. .SH "AUTHOR" .IX Header "AUTHOR" Geoff Westcott. This documentation and parts of the code based on various other tv_grabbers from the XMLTV-project. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBxmltv\fR\|(5).