Skip to content
/ xmltv Public
forked from XMLTV/xmltv

Utilities to obtain, generate, and post-process TV listings data in XMLTV format

License

Notifications You must be signed in to change notification settings

mkeller/xmltv

This branch is 1 commit ahead of, 520 commits behind XMLTV/xmltv:master.

Folders and files

NameName
Last commit message
Last commit date
Mar 12, 2019
Feb 8, 2019
Feb 19, 2019
Oct 21, 2019
Apr 28, 2019
Oct 27, 2019
Feb 21, 2019
Feb 28, 2019
Feb 8, 2019
Feb 7, 2019
Jun 17, 2018
Jun 17, 2018
Oct 17, 2019
Oct 17, 2019
Jun 17, 2018
Jun 17, 2018
Jun 17, 2018
Jun 17, 2018
Jun 17, 2018
Jun 17, 2018
Jun 17, 2018
Jun 17, 2018
Jun 21, 2018
Feb 7, 2019
Oct 17, 2019
Jun 17, 2018
Jun 21, 2018
Feb 7, 2019
Oct 17, 2019
Oct 21, 2019
Jun 17, 2018
Jun 17, 2018
Jun 17, 2018
Jun 17, 2018
Feb 25, 2017
Mar 13, 2019
Oct 17, 2019
Oct 21, 2019
Aug 7, 2012
Feb 21, 2019
Oct 17, 2019
Feb 18, 2019
Oct 21, 2019
Oct 21, 2019
Feb 7, 2019
Feb 7, 2019
Dec 2, 2017
Feb 7, 2019
Jun 10, 2012
Feb 7, 2019
Sep 20, 2014
Sep 20, 2014

Repository files navigation

XMLTV 0.6.1

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.

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

* Installation

Note: Windows users are strongly advised to use the pre-built EXE as installing
all the prerequisites is non-trivial. For those who want to give it a go,
instructions are in doc/exe_build.html. Those instructions can be used for both
building xmltv.exe as well as a local install.

Basic installation instructions (Linux/Unix):

% 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.8.3 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.

Please note that in addition to the specific modules listed below, the
tv_grab_zz_sdjson_sqlite grabber requires Perl 5.16 to be installed.

** Required distribtions/modules

Required distributions/modules for XMLTV's core libraries are:

Date::Manip 5.42a
File::Slurp
JSON (see note below)
LWP 5.65
Term::ReadKey
XML::LibXML
XML::Parser 2.34
XML::TreePP
XML::Twig 3.28
XML::Writer 0.6.0

Required modules for grabbers/utilities are:

Archive::Zip                  (tv_grab_eu_epgdata, tv_grab_uk_bleb)
CGI                           (tv_pick_cgi, core module until 5.20.3, part of CGI)
CGI::Carp                     (tv_pick_cgi, core module until 5.20.3, part of CGI)
Compress::Zlib                (for some of the grabbers, core module since 5.9.3, part of IO::Compress)
Data::Dump                    (for tv_grab_it_dvb)
Date::Calc                    (tv_grab_il)
Date::Format                  (for some of the grabbers, part of TimeDate)
Date::Language                (tv_grab_ar, part of TimeDate)
DateTime                      (for several of the grabbers)
DateTime::Format::ISO8601     (tv_grab_zz_sdjson_sqlite)
DateTime::Format::SQLite      (tv_grab_zz_sdjson_sqlite)
DateTime::Format::Strptime    (tv_grab_eu_epgdata)
DateTime::TimeZone            (tv_grab_fr)
DBD::SQLite                   (tv_grab_zz_sdjson_sqlite)
DBI                           (tv_grab_zz_sdjson_sqlite)
Digest::SHA                   (tv_grab_zz_sdjson{,_sqlite}, core module since 5.9.3)
File::HomeDir                 (tv_grab_zz_sdjson_sqlite)
File::Which                   (tv_grab_zz_sdjson_sqlite)
HTML::Entities 1.27           (for several of the grabbers, part of HTML::Parser 3.34)
HTML::Parser 3.34             (tv_grab_it, tv_grab_it_dvb, part of HTML::Parser 3.34)
HTML::Tree                    (for many of the grabbers, part of HTML::Tree)
HTML::TreeBuilder             (for many of the grabbers, part of HTML::Tree)
HTTP::Cache::Transparent 1.0  (for several of the grabbers)
HTTP::Cookies                 (for several of the grabbers)
HTTP::Request::Common         (tv_grab_eu_epgdata, part of HTTP::Message)
IO::Scalar                    (for some of the grabbers, part of IO::Stringy)
List::MoreUtils               (tv_grab_zz_sdjson_sqlite)
LWP::Protocol::https          (tv_grab_zz_sdjson)
LWP::UserAgent::Determined    (tv_grab_zz_sdjson_sqlite)
SOAP::Lite 0.67               (tv_grab_na_dd)
Time::Piece                   (tv_grab_huro, core module since 5.9.5)
Time::Seconds                 (tv_grab_huro, core module since 5.9.5)
Tk                            (tv_check)
Tk::TableMatrix               (tv_check)
URI                           (for some of the grabbers, part of URI)
URI::Escape                   (for some of the grabbers, part of URI)
XML::DOM                      (tv_grab_is)
XML::LibXSLT                  (tv_grab_is)

** Recommended distribtions/modules

The following modules are recommended (e.g. faster JSON processing, better
character handling) but the software will works without them installed:

File::chdir                      (testing grabbers)
JSON::XS                         (faster JSON handling, see note below)
Lingua::Preferred 0.2.4          (helps with multilingual listings)
Log::TraceMessages               (useful for debugging, not needed for normal use)
PerlIO::gzip                     (can make tv_imdb a bit faster)
Term::ProgressBar                (displays pretty progress bars)
Unicode::String                  (improved character handling in tv_to_latex)

** JSON libraries

By default, libraries and grabbers that need to handle JSON data should specify
the JSON module. This module is a wrapper for JSON::XS-compatible modules and
supports the following JSON modules:

JSON::XS
JSON::PP
Cpanel::JSON::XS

JSON will use JSON::XS if available, falling back to JSON::PP (a core module
since 5.14.0) if JSON::XS is not available. Cpanel::JSON::XS can be used as an
explicit alternative by setting the PERL_JSON_BACKEND environment variable
(please refer to the JSON module's documentation for details).


All required modules can can be installed from CPAN using the CPAN shell program:

% 'perl -MCPAN -e shell'

then 'install XML::Twig' and so on.

You may find it easier to search for packaged versions of modules from your OS
provider - software sources which distribute a packaged version of XMLTV will
often provide the modules it needs too.

* 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

If a full HTTP URL to the XMLTV.dtd is provided in the DOCTYPE declaration of
an XMLTV document, be aware that it is possible for the link to instead
redirect to a page for accepting cookies. Such cookie-acceptance pages are more
common in Europe, and can result in applications being unable to parse the
file.

* Author and copying

This is free software distributed under the GPL, see COPYING. There are many
who have contributed code: they are credited in individual source files and
in the authors.txt mapping file.

* Resources

We have a project web page and wiki at http://www.xmltv.org

We maintain our source code using git and our Github project is available at
https://github.com/XMLTV/xmltv. Please browse and submit new issues on our Github
issue tracker at https://github.com/XMLTV/xmltv/issues.

We run the following mailing lists:

    xmltv-announce: Subscribe — XMLTV Release Announcements (low traffic)
    xmltv-users: — XMLTV users list, mostly for problem reporting and general XMLTV questions
    xmltv-devel: Subscribe — XMLTV development discussion group

Please subscribe to any/all lists at https://sourceforge.net/p/xmltv/mailman/

Finally, we run an IRC channel #xmltv on Freenode. Please join us!

-- Nick Morrott, [email protected], 2019-02-21

About

Utilities to obtain, generate, and post-process TV listings data in XMLTV format

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Perl 99.1%
  • Other 0.9%