UK Linux beginner user getting mc2xml to work
#1
Hi,

I have spent literally months trying to get XMLTV installed on Openmediavault and have had to give up.

I have a Schedules Direct account and have heard that mc2xml is a decent alternative.

Could anyone give me an idiot's guide to getting it up and running please?

Any help would be much appreciated - really struggling with Linux at the moment!
Reply
#2
What are your problems getting Xmltv to work?
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#3
Ultimately, I think the problem stems from the fact that I am using Openmediavault (which is based upon Debian Jessie).

According to this, the latest version of XMLTV is 0.5.63.2 (https://packages.debian.org/jessie/interpreters/xmltv).

However, I need version 0.5.69-1, to use the tv_grab_zz_sdjson grabber for Schedules Direct.

I worked out that I needed to compile the latest version of 0.5.69-1 myself, having read the relevant readme file:

XMLTV 0.5.69

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

tv_grab_hr - removed broken grabber
tv_grab_pt - removed broken grabber
tv_grab_uk_atlas - removed due to new target site rules

tv_grab_fi - major changes, need to run configure again

tv_grab_sd_json/tv_grab_zz_sdjson - major speed improvements.
This grabber is replicated as tv_grab_zz_sdjson and will
only be available via the new name in the next release.
Please switch to the new name.

tv_grab_zz_sdjson_sqlite - additional grabber for Schedule
Direct's fee-based SD-JSON service. Supports 50+
countries. http://www.schedulesdirect.org/regions

And lots of other changes (see ChangeLog 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.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
required modules is:

LWP 5.65
XML:Tonguearser 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)
Data:Big Grinumper (if you want to run tv_grab_dk_dr)
DateTime (if you want to run tv_grab_dk_dr)
HTML:Tonguearser 3.34 (for 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 (for several of the grabbers)
HTTP::Cookies (if you want to run tv_grab_br_net)
IO::File (if you want to run tv_grab_fr)
IO::Scalar (if you want to run tv_grab_uk_bleb, tv_grab_in)
IO::Stringy (if you want to run tv_grab_se_swedb)
JSON (if you want to run tv_grab_fi)
Parse::RecDescent (if you want to run tv_grab_dk_dr)
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, tv_grab_br_net)
XML::LibXML (if you want to run tv_grab_se_swedb, tv_grab_in)
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:TonguerogressBar (displays pretty progress meters)
PerlIO::gzip (for perl 5.8+) (makes tv_imdb a bit faster)
Lingua:Tonguereferred 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.

* 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...erAgent.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://www.xmltv.org and a Sourceforge
project 'XMLTV'. There are some mailing lists:

[email protected]
[email protected]
[email protected]

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

-- Robert Eden, [email protected], 2017-01-23
$Id: README,v 1.181 2017/01/24 04:59:45 rmeden Exp $


Every time I try to make the file, there seems to be something missing.

Here is what I have got, so far, having connected to Openmediavault via Putty:

Code:

sudo apt-get install libxml-treepp-perl

Code:

sudo apt-get install bzip2

Code:

sudo wget https://sourceforge.net/projects/xmltv/f...69.tar.bz2

Code:

tar xvf xmltv-0.5.69.tar.bz2

Code:

cd xmltv-0.5.69/

Code:

root@openmediavault:~/xmltv-0.5.69# perl Makefile.PL
Can't locate Term/ReadKey.pm in @INC (you may need to install the Term::ReadKey module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at lib/Ask/Term.pm line 9.
BEGIN failed--compilation aborted at lib/Ask/Term.pm line 9.
Compilation failed in require at Makefile.PL line 254.

Code:

apt-get install libterm-readkey-perl

Code:

make

https://tvheadend.org/attachments/downlo...-18-48.png

I then did the following:

Code:

cpan XML::Twig

which seemed to install various things (after typing "y" about four times) but then if I try and "make" again, it just keeps on telling me that XML:Twig is missing.

I am so out of my depth here that I thought that I should just try something else, like mc2xml.

I am such a Linux novice that it is more than likely that I am doing something completely wrong - I just blindly copying and pasting bits of code that I am getting from forums and webpages, without really understanding why.
Reply
#4
i use the older version, found here :https://github.com/kgroeneveld/tv_grab_sd_json, i use ubuntu 16.1 and it hasn't been update to the new tv_grab_zz_sdjson yet... i guess i would have to build it if i needed the new version... but the above works and i'm not 100% sure what the new version will give plus i have a touch of CBA!

just add the file to /usr/local/bin
then : tv_grab_sd_json --configure

i found this quite useful to configure: https://www.mythtv.org/wiki/Migrating_to..._in_the_UK

then once configured you just need to set up TVheadEnd
Reply
#5
(2017-03-18, 19:18)AshG Wrote: i use the older version, found here :https://github.com/kgroeneveld/tv_grab_sd_json, i use ubuntu 16.1 and it hasn't been update to the new tv_grab_zz_sdjson yet... i guess i would have to build it if i needed the new version... but the above works and i'm not 100% sure what the new version will give plus i have a touch of CBA!

just add the file to /usr/local/bin
then : tv_grab_sd_json --configure

i found this quite useful to configure: https://www.mythtv.org/wiki/Migrating_to..._in_the_UK

then once configured you just need to set up TVheadEnd

I'd second this, it's exactly what i did to get xmltv working
Reply
#6
Thank you very much for that - a bit of a light bulb moment, here.

So tv_grab_sd_json would work for me, just as well as tv_grab_zz_sdjson? Is speed the only difference between these two grabbers?

I am going to wipe my machine and start from scratch.

Am I right in thinking, therefore, that all I need to do is the following:

Code:
sudo apt-get install XMLTV

then download the file from here:

https://github.com/kgroeneveld/tv_grab_sd_json

and copy it into /usr/local/bin

then

Code:
tv_grab_sd-json --configure

or is slightly more involved than that?

The reason I ask is that the Readme is slightly ambiguous:


tv_grab_sd_json is an XMLTV grabber for the Schedules Direct
(http://www.schedulesdirect.org) JSON API.

NOTE: This grabber is now included in the official XMLTV project (currently
still only in CVS and not an actual release). The XMLTV version of this
grabber may have fixes missing here (and vice versa).

Installation:
1. Install XMLTV (http://wiki.xmltv.org/index.php/XMLTVProject)
2. Install other dependencies (see below)
3. Put tv_grab_sd_json in your path (such as /usr/local/bin)

Usage:
Minimal usage instructions are near the top of the tv_grab_sd_json file.

Dependencies:

In addition to the XMLTV libaries, the following perl libraries are required by
tv_grab_sd_json:

Cwd
DateTime
Digest::SHA
JSON
List::MoreUtils
LWP::UserAgent
Scalar::Util
Storable
Try::Tiny

On Ubuntu most of these can be installed by installed the following packages:
xmltv



Will I actually need the additional perl libraries or will they come as part of the XMLTV package?
Reply
#7
They are not included with xmltv-utils, but depending upon your distro/package manager, they should be installed as a dependency.

tv_grab_zz_sdjson is essentially tv_grab_sd_json version 2.0. It is included with the current release of xmltv-utils, so the information in the github repository you are using is out of date since it has been included in releases for nearly a year now.

It sounds like your distro's packages are out of date: perhaps you need to contact the maintainer.
Reply
#8
i think tv_grab_zz_sdjson is included with XMLTV 0.5.69, i'm using unbuntu 16.4 which is still on 0.5.67 - which didn't include tv_grab_zz_sdjson...

@rpcameron, what would be the advantages of using tv_grab_zz_sdjson? do you happen to know?
Reply
#9
(2017-03-22, 21:10)AshG Wrote: i think tv_grab_zz_sdjson is included with XMLTV 0.5.69, i'm using unbuntu 16.4 which is still on 0.5.67 - which didn't include tv_grab_zz_sdjson...

@rpcameron, what would be the advantages of using tv_grab_zz_sdjson? do you happen to know?

tv_grab_sd_json debuted in 0.5.68. The new version (tv_grab_zz_sdjson) shipped with 0.5.69. 0.5.69 also includes tv_grab_sd_json, but it is the same script; the next version will remove tv_grab_sd_json, therefore this is a transition time to get users to use the new "zz" name.

The number 1 improvement I have noticed between 0.5.68 and 0.5.69 is SPEED. The new version is much faster at generating its xmltv; I believe it is also faster at managing its cache, so only updates and new items are downloaded.

0.5.68 was released in June or July of last year, 0.5.69 only a month or so ago I believe. In either case, that's one of the problems with Ubuntu packages ... they tend to be out-of-date, unless it's a very common package. Ubuntu' maintainers don't do a good job "maintaining", IMO.
Reply
#10
As very much a Linux novice, I was under the impression that pure Debian was considered one of the most stable distros on the basis that updates were only applied when they had been heavily scrutinised for compatibility.

Other Debian-based distors (like Ubuntu, Mint etc.) sacrifice a bit of stability for the sake of being updated a bit more up-to-date. Is this correct and does this explain why the XMLTV version for Debian is so far behind?
Reply
#11
(2017-03-23, 15:15)elsmandino Wrote: As very much a Linux novice, I was under the impression that pure Debian was considered one of the most stable distros on the basis that updates were only applied when they had been heavily scrutinised for compatibility.

Other Debian-based distors (like Ubuntu, Mint etc.) sacrifice a bit of stability for the sake of being updated a bit more up-to-date. Is this correct and does this explain why the XMLTV version for Debian is so far behind?

Yes and No. In general, and especially regarding Debian, this is most likely the case. However, Debian's reluctance for some packages is simply political.

For Ubuntu, this may be the stated reason. And which Ubuntu may have started out based upon Debian, I feel the only real thread that ties the two together is the packaging format and tools. But in practice I'm not sure it has much veracity. I believe that it is truly a matter of maintainers not maintaining, especially outside the main repository.

In the end, it's up to you to decide which distro you want to use. I feel everyone goes to Ubuntu (or now Mint, which is a derivative of Ubuntu) because of name recognition, not necessarily because it's the best fit. There are TONS of great distros out there, and one of them may be a better match.
Reply

Logout Mark Read Team Forum Stats Members Help
UK Linux beginner user getting mc2xml to work0