xmltv/grab/sd_json tv_grab_sd_json,1.7,1.8

Kevin Groeneveld <[email protected]> Thu, 26 May 2016 23:43:37 +0000
Newsgroups gmane.comp.tv.xmltv.cvs
Message-ID <[email protected]>
Update of /cvsroot/xmltv/xmltv/grab/sd_json
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv4191

Modified Files:
	tv_grab_sd_json 
Log Message:
tv_grab_sd_json: Add support for totalSeason and totalEpisodes.
    
Also ignore zero values for season/episode/partNumber.


Index: tv_grab_sd_json
===================================================================
RCS file: /cvsroot/xmltv/xmltv/grab/sd_json/tv_grab_sd_json,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** tv_grab_sd_json	26 May 2016 23:36:12 -0000	1.7
--- tv_grab_sd_json	26 May 2016 23:43:35 -0000	1.8
***************
*** 1060,1069 ****
  }
  
  sub get_program_episode {
  	my ($program, $details) = @_;
! 	my $season ='';
! 	my $episode = '';
! 	my $part = '';
! 	my $data = 0;
  	my @result;
  
--- 1060,1082 ----
  }
  
+ sub _get_program_episode {
+ 	my ($number, $total) = @_;
+ 	my $result;
+ 
+ 	if(looks_like_number($number) && int($number)) {
+ 		$result = sprintf('%d', $number - 1);
+ 		if(looks_like_number($total) && int($total)) {
+ 			$result .= sprintf('/%d', $total);
+ 		}
+ 	}
+ 
+ 	return $result;
+ }
+ 
  sub get_program_episode {
  	my ($program, $details) = @_;
! 	my $season;
! 	my $episode;
! 	my $part;
  	my @result;
  
***************
*** 1071,1112 ****
  	if($metadata)
  	{
! 		my $temp = $metadata->{'season'};
! 		if(looks_like_number($temp)) {
! 			$season = sprintf('%d', $temp - 1);
! 			$data = 1;
! 		}
! 
! 		$temp = $metadata->{'episode'};
! 		if(looks_like_number($temp)) {
! 			$episode = sprintf('%d', $temp - 1);
! 			$data = 1;
! 		}
  	}
  
  	my $multipart = $program->{'multipart'};
  	if($multipart) {
! 		my $temp = $multipart->{'partNumber'};
! 		if(looks_like_number($temp)) {
! 			$part = sprintf('%d', $temp - 1);
! 			$temp = $multipart->{'totalParts'};
! 			if(looks_like_number($temp)) {
! 				$part .= sprintf('/%d', $temp );
! 			}
! 			$data = 1;
! 		}
  	}
  
! 	if($data) {
! 		push(@result, [ "$season.$episode.$part", 'xmltv_ns' ]);
  	}
  
  	push(@result, [ $program->{'programID'}, 'dd_progid' ]);
  
! 	if(scalar @result) {
! 		return \@result;
! 	}
! 	else {
! 		return undef;
! 	}
  }
  
--- 1084,1106 ----
  	if($metadata)
  	{
! 		$season = _get_program_episode($metadata->{'season'}, $metadata->{'totalSeason'});
! 		$episode = _get_program_episode($metadata->{'episode'}, $metadata->{'totalEpisodes'});
  	}
  
  	my $multipart = $program->{'multipart'};
  	if($multipart) {
! 		$part = _get_program_episode($multipart->{'partNumber'}, $multipart->{'totalParts'});
  	}
  
! 	if($season || $episode || $part) {
! 		$season //= '';
! 		$episode //= '';
! 		$part //= '';
! 		push(@result, [ sprintf('%s.%s.%s', $season, $episode, $part), 'xmltv_ns' ]);
  	}
  
  	push(@result, [ $program->{'programID'}, 'dd_progid' ]);
  
! 	return \@result;
  }
  


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e