Changeset 927

Show
Ignore:
Timestamp:
09/29/07 03:54:33 (6 years ago)
Author:
paul
Message:

flag_aus_hdtv: allow multiple for base channels, closes ticket #60

Files:
2 modified

Legend:

Unmodified
Added
Removed
  • postprocessors/flag_aus_hdtv

    r912 r927  
    1313 
    1414my $progname = "flag_aus_hdtv"; 
    15 my $version = "0.20"; 
     15my $version = "0.21"; 
    1616 
    1717$| = 1; 
     
    7474my @xmltv_version = split(/\./,$XMLTV::VERSION); 
    7575if (($xmltv_version[0] <= 0) && ($xmltv_version[1] <= "5") && ($xmltv_version[2] <= "43")) { 
    76         print " - XMLTV version ".$XMLTV::VERSION." too old to support HDTV flags. Disabling HDTV flags."; 
     76        print " - XMLTV version ".$XMLTV::VERSION." too old to support HDTV flags. Disabling HDTV flags.\n"; 
    7777        $opt->{notag} = 1; 
    7878        $stats{disabled_hdtv_flag}++; 
     
    265265        } 
    266266 
    267         my $shortchannels; 
     267        my ($shortchannels, $shortoptchannels); 
    268268        while (my ($name, $chanid) = each %$channels) 
    269269        { 
     
    311311            } 
    312312 
    313             $shortchannels->{$name} = $chanid; 
    314             $opt_channels->{$name."HD"} = $opt_channels->{$oldname."HD"} if $oldname ne $name and $opt_channels->{$oldname."HD"}; 
    315              
    316             #print "$oldname -> $name = $chanid\n"; 
    317             #print "$oldname HD + $name HD = " . $opt_channels->{$oldname."HD"} . "\n" if $oldname ne $name and $opt_channels->{$oldname."HD"}; 
     313            push @{$shortchannels->{$name}}, $chanid; 
     314            push @{$shortoptchannels->{$name."HD"}}, $opt_channels->{$oldname."HD"} 
     315                    if defined $opt_channels->{$oldname."HD"}; 
     316 
     317            if ($name ne $oldname) { 
     318                print "  '$oldname' treated as '$name' with xmlid '$chanid'\n"; 
     319                print "  '${oldname}HD' treated as '${name}HD' with xmlid '" . $opt_channels->{$oldname."HD"} . "'\n" 
     320                        if defined $opt_channels->{$oldname."HD"}; 
     321            } 
    318322        } 
    319323        $channels = $shortchannels; 
     324        $opt_channels = $shortoptchannels; 
    320325} 
    321326 
     
    457462                                        if ($hd == 1) { 
    458463                                                #print "HD Channel $this_chan $dayname \"$show\"\n" if $opt->{debug}; 
    459                                                 my $xmlid = $channels->{$this_chan}; 
    460                                                 $d->{prog}->{$xmlid}->{$show}->{chan} = $this_chan; 
    461                                                 $d->{prog}->{$xmlid}->{$show}->{days}->{$dayname} = 1; 
     464                                                foreach my $xmlid (@{$channels->{$this_chan}}) { 
     465                                                        $d->{prog}->{$xmlid}->{$show}->{chan} = $this_chan; 
     466                                                        $d->{prog}->{$xmlid}->{$show}->{days}->{$dayname} = 1; 
     467 
     468                                                } 
    462469                                                $stats{parsed_hd_progs}++; 
    463470                                        } else { 
     
    586593        # see if title matches something in our override table 
    587594        foreach my $ch (keys %{($hdoverride)}) { 
    588                 next if ($channels->{$ch} ne $this_chan); 
     595                my $found = 0; 
     596                foreach my $xmlid (@{$channels->{$ch}}) { 
     597                        if ($xmlid eq $this_chan) { 
     598                                $found = 1; 
     599                                last; 
     600                        } 
     601                } 
     602                next if !$found; 
    589603                foreach my $t (@{($hdoverride->{$ch})}) { 
    590604                        if (canonicalizeTitles_match($t,$this_title)) { 
     
    619633 
    620634                # populate this programme in HD channel 
    621                 $prog->{channel} = $opt_channels->{$hd_chan_base}; 
    622635                $prog->{video}->{quality} = "HDTV" unless (defined $opt->{notag}); 
    623                 $writer->write_programme($prog); 
    624                 $stats{wrote_prog_into_hdtv_channel}++ 
     636                foreach (@{$opt_channels->{$hd_chan_base}}) { 
     637                        $prog->{channel} = $_; 
     638                        $writer->write_programme($prog); 
     639                        $stats{wrote_prog_into_hdtv_channel}++ 
     640                } 
    625641        } 
    626642        return; 
  • status

    r926 r927  
    1818postprocessor   imdb_augment_data   0.35 
    1919postprocessor   tvdb_augment_data   0.11 
    20 postprocessor   flag_aus_hdtv       0.20 
     20postprocessor   flag_aus_hdtv       0.21 
    2121postprocessor   augment_timezone    0.17