Changeset 520
- Timestamp:
- 02/14/07 14:58:00 (6 years ago)
- Files:
-
- 2 modified
-
grabbers/sbsnews_website (modified) (6 diffs)
-
status (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
grabbers/sbsnews_website
r513 r520 15 15 16 16 my $progname = "sbsnews_website"; 17 my $version = "0.0 7";17 my $version = "0.08"; 18 18 19 19 use LWP::UserAgent; … … 192 192 my @seen_day_tag, my @column_is_day, my @column_maps_to_time; 193 193 my @time_column_wrapped_over_midnight; 194 my @prev_row_prog_tag; 194 195 195 196 my $seen_time_tag_column = -1; … … 254 255 # soak up the data! 255 256 $row[$td_count] = $td1->as_text(); 257 $row[$td_count] =~ s/(^\s+|\s+$)//g; 256 258 &log((sprintf "stored row data %d: '%s'", $td_count, $td1->as_text())) if $opt->{debug}; 257 259 } else { … … 276 278 # parse time from $row[$tcol] ... format is "13:30-13:50" 277 279 my $start_time = -1, my $stop_time = -1; 278 if ($row[$tcol] =~ /^(\d{1,2}):(\d{1,2}) ?\- ?(\d{1,2}):(\d{1,2})$/) {280 if ($row[$tcol] =~ /^(\d{1,2}):(\d{1,2})\s*\-\s*(\d{1,2}):(\d{1,2})$/) { 279 281 $start_time = ($1*60*60)+($2*60); 280 282 $stop_time = ($3*60*60)+($4*60); 281 } 282 283 # skip sometimes-subtitle-line (but not always) 284 next if (($start_time == -1) || ($stop_time == -1)); 283 } else { 284 &log("couldn't match start/stop time from '".$row[$tcol]."' in column $tcol") if $opt->{debug}; 285 } 286 287 # sometimes-subtitle-line (but not always) 288 # if previous line had a programme in this slot and can't match a time, 289 # use this row data as a sub-title for the programme 290 if (($start_time == -1) || ($stop_time == -1)) { 291 foreach my $col (0..$td_count) { 292 if ((defined $column_is_day[$col]) && 293 (defined $column_maps_to_time[$col]) && 294 ($column_maps_to_time[$col] == $tcol) && 295 (defined $prev_row_prog_tag[$col])) { 296 if ($row[$col] ne "") { 297 &log("added subtitle '".$row[$col]."' from col $col to previous-row prog '". 298 $tv_guide->{$prev_row_prog_tag[$col]}->{title}->[0]->[0]."'") if $opt->{debug}; 299 300 $tv_guide->{$prev_row_prog_tag[$col]}->{'sub-title'} = [[ $row[$col], $opt->{lang} ]]; 301 } 302 $prev_row_prog_tag[$col] = undef; 303 } 304 } 305 next; 306 } 285 307 286 308 # apply midnight-wrapping if seen a previous wrap-over-midnight … … 303 325 (defined $column_maps_to_time[$col]) && 304 326 ($column_maps_to_time[$col] == $tcol)) { 305 my $progname = $row[$col]; 306 $progname =~ s/(^\s+|\s+$)//g; 307 next if ($progname eq ""); 327 next if ($row[$col] eq ""); 308 328 309 329 my $prog; 310 330 $prog->{channel} = $channels->{'SBS News'}; 311 $prog->{title} = [[ $ progname, $opt->{lang} ]];331 $prog->{title} = [[ $row[$col], $opt->{lang} ]]; 312 332 $prog->{starttime} = $start_time + $day_range[($column_is_day[$col])]; 313 333 $prog->{stoptime} = $stop_time + $day_range[($column_is_day[$col])]; … … 317 337 318 338 $tv_guide->{($prog->{starttime})} = $prog; 339 $prev_row_prog_tag[$col] = $prog->{starttime}; 319 340 320 341 &log((sprintf "got prog col %d: start=%d (%s), stop=%d (%s), '%s', day=%d", 321 $col,$start_time,$prog->{starttime},$stop_time,$prog->{stoptime},$ progname,$column_is_day[$col]))342 $col,$start_time,$prog->{starttime},$stop_time,$prog->{stoptime},$row[$col],$column_is_day[$col])) 322 343 if $opt->{debug}; 323 344 -
status
r519 r520 4 4 grabber abc_website 2.07 5 5 grabber abc2_website 2.07 6 grabber sbsnews_website 0.0 76 grabber sbsnews_website 0.08 7 7 grabber oztivo 0.15 8 8 grabber jrobbo 0.06
