XMLTV / xmltv

Utilities to obtain, generate, and post-process TV listings data in XMLTV format
GNU General Public License v2.0
291 stars 94 forks source link

Listings grabber for UK Freeview - "corrupt channel" #239

Closed misar1 closed 2 months ago

misar1 commented 2 months ago

As discussed, I found a channel which aborts but have only checked a small subset of Freeview. Channel 64, Blaze Timezone is +0100 getting list of channels: ################################################## getting listings: Not a HASH reference at \XMLTV_1\par-6d696b6573\cache-e1b1563a021779c5084d873b11553dd9e308b482\inc/script/tv_grab_uk_freeview line 631.

misar1 commented 2 months ago

I divided the channels in the attached .conf into blocks and ran each block separately as listed below in the same order. I don't have time to narrow down all the affected channels but it looks like the issues occur at lines 631 and 656.

tv_grab_uk_freeview_wintv.zip

101-107

OK

11-20

OK but reported "unknown attribute: SL" which I have seen many times.

21-250

Failed with: Timezone is +0100 getting list of channels: ################################################## getting listings: ######################################Not a HASH reference at \XMLTV_1\par-6d696b6573\cache-e1b1563a021779c5084d873b11553dd9e308b482\inc/script/tv_grab_uk_freeview line 631.

26-40

OK

41-56

Failed with: Timezone is +0100 getting list of channels: ################################################## getting listings: #####Use of uninitialized value $p_ser in substitution (s///) at \XMLTV_1\par-6d696b6573\cache-e1b1563a021779c5084d873b11553dd9e308b482\inc/script/tv_grab_uk_freeview line 656. Use of uninitialized value $p_ser in substitution (s///) at \XMLTV_1\par-6d696b6573\cache-e1b1563a021779c5084d873b11553dd9e308b482\inc/script/tv_grab_uk_freeview line 656. ##############################Not a HASH reference at \XMLTV_1\par-6d696b6573\cache-e1b1563a021779c5084d873b11553dd9e308b482\inc/script/tv_grab_uk_freeview line 631.

6-69

Failed at 64 Blaze with: Timezone is +0100 getting list of channels: ################################################## getting listings: Not a HASH reference at \XMLTV_1\par-6d696b6573\cache-e1b1563a021779c5084d873b11553dd9e308b482\inc/script/tv_grab_uk_freeview line 631.

8-84

Failed with: Timezone is +0100 getting list of channels: ################################################## getting listings: Not a HASH reference at \XMLTV_1\par-6d696b6573\cache-e1b1563a021779c5084d873b11553dd9e308b482\inc/script/tv_grab_uk_freeview line 631.

honir commented 2 months ago

Please provide the rest of the details as per the issue reporting form (inter alia: operating system; command you are running).

misar1 commented 2 months ago

I'm running XMLTV 1.3.0 (xmltv-1.3.0-win64.zip downloaded last week) on Windows 11. Your script no longer provides a $grabberid line but I checked that it is identical to the version you committed on 25 May. I ran the tests with this batch file: D: cd D:\XMLTV_1 set TEMP=\XMLTV_1\ set HOME=\XMLTV_1\ D:\XMLTV_1\xmltv.exe tv_grab_uk_freeview --config-file D:\XMLTV_1.xmltv\tv_grab_uk_freeview_wintv%1.conf --output D:\XMLTV_1\XML\Test1dayEPG%1.xml --days 1

honir commented 2 months ago

Updated program available here or here

misar1 commented 2 months ago

Thanks.

For information, I tested the revised script for one day with the .conf I posted previously

The .xml has a full list of channels but programme blocks for just channel 235 (Al Jazeera Eng) which is in the centre of the channel list. Also it had aborted writing the .xml part way through a programme block: `

The Listening Post
<desc lang="en"`

I did a repeat grab with just 235, producing the identical programme output but am puzzled as to why a channel at the centre of a list would prevent programmes from all the previous channels being copied to the .xml before it aborted.

Should I raise a new issue?

honir commented 2 months ago

Ok, I've updated the program with a fix for this.

misar1 commented 2 months ago

That was quick! Thanks again.

honir commented 2 months ago

You're welcome. Once I knew the channel and day, I could look at the incoming data and then the problem was obvious :-)