XMLTV 0.5.37

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.37)

tv_grab_se_swedb:  New Grabber for Sweden!

tv_check:      major changes.
               now handles DST properly.
               output always in local timezone, GMT supported in guide
               added --days parameter.  7 day limitation removed
               fix/improve MyReplayTV timeslot detection

tv_grab_fr:    rewritten to be less sensitive to data source changes

tv_grab_nl:    fixes to handle bad pages and odd start times

tv_grab_uk_rt: added channel ids

tv_grab_es:    fixed bug that could cause programme to be skipped

tv_grab_no:    changed to handle data source changes

tv_grab_uk_rt: added POD documentation

tv_grab_dk:    added icon support.
               misc fixes

tv_grab_na_dd: fixed config file problem preventing UTC time
               --quiet now disables the status bar
               retain config file if config mode aborted

xmltv.exe:     return non-zero ERRORLEVEL if script stops with error

cache handling: make location of cache.conf more flexible

* 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:

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

HTML::TreeBuilder       (for many of the grabbers)
HTML::Parser 3.34       (for some of the grabbers)
Tk::TableMatrix         (if you want to run tv_check)
CGI                     (if you want to run tv_pick_cgi)
Text::Kakasi            (if you want to run tv_grab_jp)
XML::LibXML             (if you want to run tv_grab_se)
SOAP::Lite              (if you want to run tv_grab_na_dd)
Term::ReadKey           (if you want to run tv_grab_na_dd)
HTML::TableExtract      (if you want to run tv_grab_no)
HTML::LinkExtractor     (if you want to run tv_grab_no)
WWW::Mechanize          (if you want to run tv_grab_na_icons)

Where a version number is given any later version also ought to work.
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)
HTTP::Cache::Transparent         (cache http requests)

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.

* 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.

-- Robert Eden, rmeden@yahoo.com, 2004-11-29
$Id: README,v 1.121 2004/11/29 08:00:58 rmeden Exp $
