XMLTV 0.5.42

Gather television listings, process them and organize your viewing.
XMLTV is a file format for storing TV listings, defined in xmltv.dtd.
Then there are several tools to produce and process these listings.

Please see doc/QuickStart for documentation on what each program does,
and xmltv.dtd for documentation on the file format.

* Changes in this release (0.5.42)

tv_grab_za: fixed for site changes, and store configuration data in
the config file.

tv_grab_fr: fixed for site changes.

tv_grab_uk_rt: channel id changes.

tv_grab_es_digital: removed because of site changes.  Use tv_grab_es.

tv_grab_uk_bleb: no longer requires a particular version of Archive::Zip.

All the grabbers now support --days and --offset.

* Installation

% perl Makefile.PL
% make
% make test
% make install

To install in a custom directory, replace the first line with
something like

% perl Makefile.PL PREFIX=/wherever/

The system requirements are perl 5.6 or later, and a few Perl modules.
You will be asked about some optional components; if you choose not to
install them then there are fewer dependencies.  The full list of
needed modules is:

LWP 5.65
XML::Parser 2.34
XML::Twig 3.10
XML::Writer 0.4.6
Date::Manip 5.42a 
Memoize (included with perl 5.8 and later)
Storable (included with perl 5.8 and later)

Archive::Zip             (if you want to run tv_grab_uk_bleb)
CGI                      (if you want to run tv_pick_cgi)
Compress::Zlib           (if you want to run tv_grab_se_swedb)
HTML::Parser 3.34        (for some of the grabbers which use HTML::Entities)
HTML::TableExtract       (if you want to run tv_grab_na_icons)
HTML::TreeBuilder        (for many of the grabbers)
HTTP::Cache::Transparent (if you want to run tv_grab_se_swedb)
IO::Scalar               (if you want to run tv_grab_uk_bleb)
IO::Stringy              (if you want to run tv_grab_se_swedb)
SOAP::Lite               (if you want to run tv_grab_na_dd)
Term::ReadKey            (if you want to run tv_grab_na_dd)
Text::Kakasi             (if you want to run tv_grab_jp)
Tk                       (if you want to run tv_check)
Tk::TableMatrix          (if you want to run tv_check)
WWW::Mechanize           (if you want to run tv_grab_na_icons)
XML::LibXML              (if you want to run tv_grab_se, tv_grab_se_swedb)
Unicode::UTF8simple      (if you want to run tv_grab_pt)

You may have difficulty with the XML modules on perl 5.8.0 - if so
send mail to the xmltv-users list.  Other perl versions should be OK.

The following modules are recommended, but the software still works
without them:

Term::ProgressBar                (displays pretty progress meters)
PerlIO::gzip (for perl 5.8+)     (makes tv_imdb a bit faster)
Lingua::Preferred 0.2.4          (helps with multilingual listings)
Unicode::String                  (non-ASCII chars in LaTeX output)
Lingua::EN::Numbers::Ordinate    (not really needed, to be honest)

And the Log::TraceMessages module is useful for debugging, but not
needed for normal use.

All of these can be installed with tarballs downloaded from CPAN or
(hopefully) using the CPAN shell program: 'perl -MCPAN -e shell', then
'install XML::Twig' and so on.  But you may find it easier to search
for packaged versions from your OS vendor or others - places which
distribute a packaged version of xmltv will often provide the modules
it needs too.

* Caching http requests

There is now support for caching http requests. This saves bandwidth
and speeds up the grabbing for some grabbers (e.g. tv_grab_uk_rt).
To enable caching, install HTTP::Cache::Transparent and create a
file ~/.xmltv/cache.conf containing

BasePath /home/[myusername]/.xmltv/cache

You also have to create a directory called 
/home/[myusername]/.xmltv/cache.

The caching always checks with the server for updated content.
This means that it is safe to use the cache for all grabbers.
However, a lot of the grabbers grab data from dynamic sites that 
don't support caching. To see if a specific grabber can benefit from
caching, add the line

Verbose 1

to ~/.xmltv/cache.conf and run the grabber twice. During the second
run, the output on standard error will show "Fetching ... from cache"
if it was possible to utilize the data in the cache. If the output
only contains "Fetching ... from server" or "Fetching ... unchanged
from server", then the caching didn't have any effect, but the output
from the grabber is still the same as without the cache.

* Proxy servers

Proxy server support is provide by the LWP modules.
You can define a proxy server via the HTTP_PROXY enviornment variable.
    http_proxy=http://somehost.somedomain:port

For more information, see the the following:
http://search.cpan.org/~gaas/libwww-perl-5.803/lib/LWP/UserAgent.pm#$ua->env_proxy

* Known issues

tv_grab_se_swedb sometimes fails to work on Windows if there are spaces
in the path to your home-directory. This can be avoided by setting
the environment variable HOME to a path without spaces (e.g. c:\home).

* Author and copying

This is free software distributed under the GPL, see COPYING.  But if
you would like to use the code under some other conditions, please do
ask.  There are many who have contributed code, they are credited in
individual source files.

There is a web page at
<http://membled.com/work/apps/xmltv/> and a Sourceforge
project 'XMLTV'.  There are some mailing lists:

    xmltv-announce@lists.sourceforge.net
    xmltv-users@lists.sourceforge.net
    xmltv-devel@lists.sourceforge.net

You ought to subscribe to the announce list at least.  Contact the
users list with most problems.

-- Ed Avis, ed@membled.com, 2006-01-08
$Id: README,v 1.133 2006/01/08 12:53:24 epaepa Exp $
