XMLTV 0.6.1, Windows binary release

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.

This is a release of the software as a single Windows binary
xmltv.exe, generated from the Perl source code linked from
<https://github.com/XMLTV/xmltv>.

* Known problems

Due to prerequisite problems, EXE support is not currently available
for tv_grab_is, tv_grab_pt_meo and tv_grab_it_dvb, If you need one
of those you'll need to install Perl and the necessary modules and
use the full distribution.

Some Win98 users get errors in Perl58.dll when running tv_grab_na_dd. See
below for more info.

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

* Major Changes in this release (0.6.1)

* IMPORTANT *

tv_grab_eu_dotmedia and tv_grab_se_tvzon are deprecated and will be
removed in the next release of XMLTV. Please switch to the new
tv_grab_eu_xmltvse grabber as soon as possible.

tv_grab_eu_xmltvse:  new grabber for Europe
tv_grab_pt_vodafone: new grabber for Portugal

tv_grab_es_laguiatv: disable broken grabber
tv_grab_fr_kazer:    disable broken grabber
tv_grab_in_toi:      disable broken grabber
tv_grab_nl:          disable broken grabber

tv_grab_eu_epgdata:  include fanart URLs in output
tv_grab_fi:          add new ampparit and telsu sources
tv_grab_il:          update grabber due to upstream changes
tv_grab_is:          now only provides RUV channels
tv_grab_zz_sdjson_sqlite:
                     improvements to lineup management
                     add support for TheTVDB metadata
tv_augment:          new rules to improve episode numbering
                     logging must now be enabled explicitly
tv_count/tv_merge:   mandatory command line options for files
tv_imdb:             migrate to new URL for archived IMDB data

And lots of other changes (see git log for details)

There is no installer, just unpack the zipfile into a
directory such as C:\xmltv.  If you are reading this you've probably
already done that.

All the different programs are combined into a single executable.  For
example, instead of running 'tv_grab_na --days 2 >na.xml' you would run

c:\xmltv\xmltv.exe tv_grab_na_dd --days 2 --output a.xml

Apart from the extra 'xmltv.exe' at the front of each command line,
the usage should be the same as the Unix version.  Some programs make
use of a "share" directory.  That directory is assumed be named
"share" at the same location as the exe.  If you just keep everything
where you unzipped it, everything should be fine.  If you must move
xmltv.exe, you may need to specify a --share option with some
programs.

xmltv.exe will try and guess a timezone.  This usually works fine. If
it doesn't, you can set a TZ variable just like on unix.

* General Windows Notes

Spaces in filenames may cause problems with some programs.  Directories
with spaces (i.e. C:\program files\xmltv) are not recommended.
C:\xmltv is better.

Some of the programs allow you pass a date format on the command line.
This uses % followed by a letter to specify a component of a date, for
example %Y gives a four digit year.  This can cause problems on windows
since % is used as a shell escape character.

To get around this, use %% to pass a % to the application. (ex. %%Y%%M )

If you *DO* want to insert a shell variable, you can do so by surrounding
it with percents. (ex %HOME% )

* crash in with PERL58.DLL

When using tv_grab_na_dd, some users are experiencing a crash in the
Perl58.DLL.

I had a similar problem when I had an older version of Perl installed
as well as XMLTV. It seems to cause DLL confusion and eventually a program
crash.

I fixed my system when I removed the old Perl.  Re-installing Perl
didn't cause the problem to return.

Before that, I used the work-around below (I could fetch 3 days)

tv_grab_na_dd --output=a.xml --days 3
tv_grab_na_dd --output=b.xml --days 3 --offset 3
tv_grab_na_dd --output=c.xml --days 1 --offset 6
tv_cat a.xml b.xml c.xml >guide.xml

I really thought this problem would be a fluke and/or easily solved
when I solved it for myself.  That doesn't look to be the case.  I'm
looking for a solution.

* Proxy servers

Proxy server support is provide by the LWP modules.

You can define a proxy server via the HTTP_PROXY environment variable.
    http_proxy=http://somehost.somedomain:port

For more information, see the following documentation:
    https://metacpan.org/pod/LWP::UserAgent#PROXY-ATTRIBUTES

* 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.  The Windows executable distribution was created by Robert Eden;
for details of the many contributors to the project please download
the source code.

There is a web page at <http://xmltv.org/> and a Github repository at
<https://github.com/XMLTV/xmltv> where you can download the source code.

Sourceforge hosts the following mailing lists:
    xmltv-announce - low volume announcements. Please join this at least.
    xmltv-users    - how to use XMLTV
    xmltv-devel    - detailed discussions among developers

-- Nick Morrott, knowledgejunkie@gmail.com, 2019-02-21
