Opened 16 years ago

Closed 16 years ago

Last modified 13 years ago

#22 closed defect (fixed)

jrobbo grabber: Incorrect channel XMLTV IDs

Reported by: Max Owned by:
Priority: major Milestone: 1.0
Component: Grabber Version: 0.4
Keywords: NXROAcYUzEPGXJ Cc:

Description

I think the jrobbo grabber returns the wrong XMLTV IDs -- specifically, it returns the raw channel names. This flows all the way through Shepherd and causes mythfilldatabase to create new channels with these names in MythTV.

~/.shepherd $ grep -R Access *
...
grabbers/jrobbo/output.xmltv:  <programme channel='Access 31 ' start="2006123103
3000 +1100" stop="20061231060000 +1100">
log/shepherd.log.bad: - WARNING: plugin 'jrobbo' returned data for unknown chann
el 'Access 31': ignored.
log/shepherd.log.bad:reconciler_mk2 [1167105586] reconciled "Access 31" (Access 
31) 195 input -> 195 output programmes
log/shepherd.log.bad: - WARNING: plugin 'reconciler_mk2' returned data for unkno
wn channel 'Access 31': ignored.
log/shepherd.log.bad: - WARNING: plugin 'imdb_augment_data' returned data for un
known channel 'Access 31': ignored.
log/shepherd.log.bad: - WARNING: plugin 'augment_timezone' returned data for unk
nown channel 'Access 31': ignored.
...

Change History (4)

comment:1 Changed 16 years ago by Max

Actually looking more closely I think jrobbo may have changed its channel names from "Channel Ten" to "Ten", "Channel Seven" to "Seven", "ABC " to "ABC", etc. (ABC2 and SBS still worked.) The grabber is hardcoded to translate only particular names so it missed this.

Since jrobbo's source & format can change the grabber probably needs a less strict match.

comment:2 Changed 16 years ago by Max

The matching from the oztivo grabber kept working, so maybe use something like that in jrobbo -- i.e. sort channels names from longest to shortest, and translate to the first match:

# Create a list of channel names from longest to shortest
@clist = sort { length $b <=> length $a } keys %$channels;

sub subme
{
    my $station = shift;

    $station = "SBS NEWS" if ($station eq "SBS-NEWS");

    foreach (@clist)
    {
        return $channels->{$_} if ($station =~ /$_/i);
    }
    print "Warning: station \"$station\" unknown.\n";
    return $station;
}

comment:3 Changed 16 years ago by lincoln

Resolution: fixed
Status: newclosed

we'll just have to address this each time it breaks - part of the problem here is that jrobbo's sources keep changing.

committed less specific (and hopefully more robust) channel matching via [391].

comment:4 Changed 13 years ago by Electicore

Keywords: NXROAcYUzEPGXJ added
Note: See TracTickets for help on using tickets.