Discussion:
[Xmltv-devel] [ xmltv-Feature Requests-3544236 ] tv_grab_eu_epgdata missing channels
SourceForge.net
2013-04-28 06:35:36 UTC
Permalink
Feature Requests item #3544236, was opened at 2012-07-14 16:14
Message generated for change (Comment added) made by olli321
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=424138&aid=3544236&group_id=39046

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: tv_grab_eu_epgdata
Group: None
Status: Closed
Priority: 5
Private: No
Submitted By: Tristan (firsttris)
Assigned to: Jan Schneider (yunosh)
Summary: tv_grab_eu_epgdata missing channels

Initial Comment:
Hello, i have running XTMLV 0.5.63 and "tv_grab_eu_epgdata" script 1.36 with ActivePerl 5.16.0.1600-x86_64 on Openelec, to grab epg for Tvheadend.

it works quit good but my problem is that some channels are missing in the output xml.

if i run: "./tv_grab_eu_epgdata --days 1 --output day1.xml --debug"
then it produces out a couple of warnings:

bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at /storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing

if i run: " ./tv_grab_eu_epgdata --list-channels --output test.xml --debug " it creates this channel.xml with ALL channels:
output: https://dl.dropbox.com/u/13344648/Channels.xml

but i run: "./tv_grab_eu_epgdata --days 1 --output day1.xml --debug" it fails with the error explained above and some important channels are missing:
output: https://dl.dropbox.com/u/13344648/day1.xml

by comparing both xml files you see the missing channels in day1.xml, for example all Sky* channels are missing.

Whats the Problem UTF-8, ISO-8859-1? Whitespaces? i changed nothing! Im grabbing for Germany....

can someone help me please?

----------------------------------------------------------------------

Comment By: Olli123 (olli321)
Date: 2013-04-27 23:35

Message:
Oh yes. Happy Day. I have been waiting so long for this Update.

How can i Download this new Version now? Where can i Grab the Alpha exe or
have i wait again for a new Version release of the whole xmltv package?

Best regards,
Oliver

----------------------------------------------------------------------

Comment By: Jan Schneider (yunosh)
Date: 2013-02-07 12:19

Message:
Fixed in CVS

----------------------------------------------------------------------

Comment By: Olli123 (olli321)
Date: 2012-12-28 23:48

Message:
*bump*

Merry Xmas and a happy new Year 2013!

----------------------------------------------------------------------

Comment By: Olli123 (olli321)
Date: 2012-09-03 10:08

Message:
Of course the files need to be updated.
You have to change 2 values in the tv_grab_eu_epgdata.
I guess this work will take 30seconds.
I already have changed them........ can i send this file to you? I guess
i´m not able to load this file into the system?

----------------------------------------------------------------------

Comment By: Jan Schneider (yunosh)
Date: 2012-09-02 23:18

Message:
This won't happen magically. The channels file needs to be updated first.

----------------------------------------------------------------------

Comment By: Olli123 (olli321)
Date: 2012-09-02 20:00

Message:
Mhhh looks like there will be no alpha-exe?

----------------------------------------------------------------------

Comment By: Olli123 (olli321)
Date: 2012-08-28 13:50

Message:
This would be awesome!

Are you able to contact a dev to do so?

Looking forward to the newly exe :)

----------------------------------------------------------------------

Comment By: Robert Eden (rmeden)
Date: 2012-08-28 12:10

Message:
dev can commit the change to cvs then I can generate a new alpha-exe.

----------------------------------------------------------------------

Comment By: Olli123 (olli321)
Date: 2012-08-28 10:58

Message:
I´m using the windows version of xmltv.
This script is there not avaible.

And i fail to install xmltv on ubuntu............ ;(

----------------------------------------------------------------------

Comment By: Tristan (firsttris)
Date: 2012-08-28 10:38

Message:
thats not a fault of epgdata.com....

go to your tv_grab_eu_epgdata script


line 590-592:

# FIXME: not sure if this is correct.
# Maybe we should just return if we don't know the channel id
}
my $name1 = decode_entities($sendung->first_child('ch11')->text);
my $name2 = decode_entities($sendung->first_child('ch0')->text);
my $name3 = decode_entities($sendung->first_child('ch1')->text);
foreach my $channel (@{$conf->{channel}}) {
if($channel eq $chanid) {
my %ch = (id => $chanid, 'display-name' => [ [$name1], [$name2], [$name3]
]);
$writer->write_channel(\%ch);
}
}

so i changed it to:

my $name1 = decode_entities($sendung->first_child('ch0')->text);
my $name2 = decode_entities($sendung->first_child('ch0')->text);
my $name3 = decode_entities($sendung->first_child('ch0')->text);


you dont have to compile anything?

chmod +x tv_grab_eu_epgdata ?


----------------------------------------------------------------------

Comment By: Olli123 (olli321)
Date: 2012-08-28 10:33

Message:
I have the same problem.

But i´m not able to compile it on my own.

I habe already been talking with the epgdata.com support but they told me,
that they will NOT change there channel_y.xml.

So my paid abbo is not useable anymore......... :(

----------------------------------------------------------------------

Comment By: Tristan (firsttris)
Date: 2012-07-14 18:38

Message:

i was able to identify the problem with the missing channels

display-name element: not writing empty content for display-name at
/storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at
/storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at
/storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing
display-name element: not writing empty content for display-name at
/storage/ActivePerl/lib/XMLTV.pm line 1772.
bad data inside channel element, not writing

sounds like the display-name is wrong.. okay - lets check on that.

when you look at a channel (wich is missing) in the include.zip ->
channel_y.xml

<data>
<ch0>Sky Sport News HD</ch0>
<ch1>SSNHD</ch1>
<ch2>ger</ch2>
<ch3>de</ch3>
<ch4>762</ch4>
<ch5>164</ch5>
<ch6>1033</ch6>
<ch7/> <ch8/>
<ch9>0</ch9>
<ch10>0</ch10>
<ch11/>
<ch12>0</ch12>
</data>

and you look at the tv_grab_eu_epgdata script how they parse the channels
to the display name:

line 590-592:

# FIXME: not sure if this is correct.
# Maybe we should just return if we don't know the channel id
}
my $name1 = decode_entities($sendung->first_child('ch11')->text);
my $name2 = decode_entities($sendung->first_child('ch0')->text);
my $name3 = decode_entities($sendung->first_child('ch1')->text);
foreach my $channel (@{$conf->{channel}}) {
if($channel eq $chanid) {
my %ch = (id => $chanid, 'display-name' => [ [$name1], [$name2], [$name3]
]);
$writer->write_channel(\%ch);
}
}


some of my channels have no ch11 element -> thats the reason.

so i changed it to:

my $name1 = decode_entities($sendung->first_child('ch0')->text);
my $name2 = decode_entities($sendung->first_child('ch0')->text);
my $name3 = decode_entities($sendung->first_child('ch0')->text);

Perhaps it is also possible to remove the attributes name2, name3 from the
array:


and tada:

root ~/downloads/activeperl # ./tv_grab_eu_epgdata --days 1 --output
day.xml --debug
tz=+0100
Downloading include zip file
Extracting *.dtd and *.xml from /tmp/lMefk92E2R/includezip
url=www.epgdata.com/index.php?action=sendPac...t=0&dataType=xml
filename=attachmentfilename20120715_20120713_de_qy.zip
Downloading zip file for day 1
Your PIN will expire around Fri Jul 12 22:00:00 GMT 2013
Extracting *.dtd and *.xml from
/tmp/lMefk92E2R/attachmentfilename20120715_20120713_de_qy.zip
Processing /tmp/lMefk92E2R/20120715_201207131458_de_qy.xml
root ~/downloads/activeperl #

done !

----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=424138&aid=3544236&group_id=39046
Loading...