xmltv/grab/uk_rt tv_grab_uk_rt,1.51,1.52
Nick Morrott <[email protected]> Sat, 19 Mar 2016 22:43:05 +0000
| Newsgroups | gmane.comp.tv.xmltv.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/xmltv/xmltv/grab/uk_rt
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv28125/grab/uk_rt
Modified Files:
tv_grab_uk_rt
Log Message:
Wrap manipulation of DateTime objects in eval
Index: tv_grab_uk_rt
===================================================================
RCS file: /cvsroot/xmltv/xmltv/grab/uk_rt/tv_grab_uk_rt,v
retrieving revision 1.51
retrieving revision 1.52
diff -C2 -d -r1.51 -r1.52
*** tv_grab_uk_rt 19 Mar 2016 00:38:13 -0000 1.51
--- tv_grab_uk_rt 19 Mar 2016 22:43:03 -0000 1.52
***************
*** 2964,2993 ****
};
if ($@) {
! t(" A valid programme start time could not be created for '"
. $prog->{'_title'} . "' ($yyyy$mm$dd $start_hr$start_mn), skipping programme");
return undef;
}
! $prog->{start} = "" . $start_dt->ymd('') . $start_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($start_dt->offset);
t(" " . $prog->{start} . " - Start time");
# Determine stop time with correct UTC offset by adding duration of
# programme to start time
! my $dur = DateTime::Duration->new( minutes => $prog->{'_duration_mins'} );
my $stop_dt;
! eval {
! $stop_dt = $start_dt + $dur;
! };
if ($@) {
! t(" A valid programme stop time could not be created for '"
. $prog->{'_title'} . "' ($yyyy$mm$dd $start_hr$start_mn), skipping programme");
return undef;
}
! # Ensure correct timezone where TZ was explicitly flagged
! $stop_dt = $stop_dt->set_time_zone('Europe/London') if (defined $prog->{'_explicit_tz'});
! $prog->{stop} = "" . $stop_dt->ymd('') . $stop_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($stop_dt->offset);
t(" " . $prog->{stop} . " - Stop time");
--- 2964,3008 ----
};
if ($@) {
! t(" A valid programme start time object could not be created for '"
. $prog->{'_title'} . "' ($yyyy$mm$dd $start_hr$start_mn), skipping programme");
return undef;
}
! eval { $prog->{start} = "" . $start_dt->ymd('') . $start_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($start_dt->offset); };
! if ($@) {
! t(" A valid programme start time string could not be created for '"
! . $prog->{'_title'} . "' ($yyyy$mm$dd $start_hr$start_mn), skipping programme");
! return undef;
! }
t(" " . $prog->{start} . " - Start time");
# Determine stop time with correct UTC offset by adding duration of
# programme to start time
! my $dur_dt = DateTime::Duration->new( minutes => $prog->{'_duration_mins'} );
my $stop_dt;
! eval { $stop_dt = $start_dt + $dur_dt; };
if ($@) {
! t(" A valid programme stop time object could not be created for '"
. $prog->{'_title'} . "' ($yyyy$mm$dd $start_hr$start_mn), skipping programme");
return undef;
}
! # Ensure correct timezone for stop time where TZ was explicitly flagged
! eval { $stop_dt = $stop_dt->set_time_zone('Europe/London') if (defined $prog->{'_explicit_tz'}); };
! if ($@) {
! t(" An explicit timezone could not be created for '"
! . $prog->{'_title'} . "' ($yyyy$mm$dd $start_hr$start_mn), skipping programme");
! return undef;
! }
! eval { $prog->{stop} = "" . $stop_dt->ymd('') . $stop_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($stop_dt->offset); };
! if ($@) {
! t(" A valid programme stop time string could not be created for '"
! . $prog->{'_title'} . "' ($yyyy$mm$dd $start_hr$start_mn), skipping programme");
! return undef;
! }
!
! t(" " . $prog->{start} . " - Start time");
t(" " . $prog->{stop} . " - Stop time");
***************
*** 2996,3005 ****
# correct timezone information
#
if (defined $channel_offset{ $prog->{channel} }) {
! $start_dt = $start_dt + $ts_dt;
! $stop_dt = $stop_dt + $ts_dt;
! $prog->{start} = "" . $start_dt->ymd('') . $start_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($start_dt->offset);
! $prog->{stop} = "" . $stop_dt->ymd('') . $stop_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($stop_dt->offset);
t(" " . $prog->{start} . " - Start time after applying '" . $channel_offset{ $prog->{channel} } . "' timeshift");
--- 3011,3043 ----
# correct timezone information
#
+ #FIXME factor out checking of datetime object manipulation - undef+next if return is defined
if (defined $channel_offset{ $prog->{channel} }) {
! eval { $start_dt = $start_dt + $ts_dt; };
! if ($@) {
! t(" A valid timeshifted programme start time object could not be created for '"
! . $prog->{'_title'} . "' ($yyyy$mm$dd $start_hr$start_mn), skipping programme");
! return undef;
! }
! eval { $stop_dt = $stop_dt + $ts_dt; };
! if ($@) {
! t(" A valid timeshifted programme stop time object could not be created for '"
! . $prog->{'_title'} . "' ($yyyy$mm$dd $start_hr$start_mn), skipping programme");
! return undef;
! }
!
! eval { $prog->{start} = "" . $start_dt->ymd('') . $start_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($start_dt->offset); };
! if ($@) {
! t(" A valid timeshifted programme start time string could not be created for '"
! . $prog->{'_title'} . "' ($yyyy$mm$dd $start_hr$start_mn), skipping programme");
! return undef;
! }
!
! eval { $prog->{stop} = "" . $stop_dt->ymd('') . $stop_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($stop_dt->offset); };
! if ($@) {
! t(" A valid timeshifted programme stop time string could not be created for '"
! . $prog->{'_title'} . "' ($yyyy$mm$dd $start_hr$start_mn), skipping programme");
! return undef;
! }
t(" " . $prog->{start} . " - Start time after applying '" . $channel_offset{ $prog->{channel} } . "' timeshift");
***************
*** 3033,3037 ****
};
if ($@) {
! t(" A valid channel start time could not be created for '"
. $prog->{'_rt_name'} . "', skipping programme");
return undef;
--- 3071,3075 ----
};
if ($@) {
! t(" A valid channel start time object could not be created for '"
. $prog->{'_rt_name'} . "', skipping programme");
return undef;
***************
*** 3051,3055 ****
};
if ($@) {
! t(" A valid channel stop time could not be created for '"
. $prog->{'_rt_name'} . "', skipping programme");
return undef;
--- 3089,3093 ----
};
if ($@) {
! t(" A valid channel stop time object could not be created for '"
. $prog->{'_rt_name'} . "', skipping programme");
return undef;
***************
*** 3058,3063 ****
# Shift channel start/stop times forward by whole days if necessary.
if (defined $channel_offset{ $prog->{channel} } and $ts_dt->in_units( 'hours' ) % 24 == 0) {
! $chan_start_dt = $chan_start_dt + $ts_dt;
! $chan_stop_dt = $chan_stop_dt + $ts_dt;
t(" Applying channel timeshift of " . $ts_dt->in_units( 'hours' ) . " hours");
}
--- 3096,3113 ----
# Shift channel start/stop times forward by whole days if necessary.
if (defined $channel_offset{ $prog->{channel} } and $ts_dt->in_units( 'hours' ) % 24 == 0) {
! eval { $chan_start_dt = $chan_start_dt + $ts_dt; };
! if ($@) {
! t(" A valid day-shifted channel start time object could not be created for '"
! . $prog->{'_rt_name'} . "', skipping programme");
! return undef;
! }
!
! eval { $chan_stop_dt = $chan_stop_dt + $ts_dt; };
! if ($@) {
! t(" A valid day-shifted channel stop time object could not be created for '"
! . $prog->{'_rt_name'} . "', skipping programme");
! return undef;
! }
!
t(" Applying channel timeshift of " . $ts_dt->in_units( 'hours' ) . " hours");
}
***************
*** 3066,3075 ****
my $chan_stops_next_day = 0;
if ($chan_start_dt >= $chan_stop_dt) {
! $chan_stop_dt = $chan_stop_dt + $day_dur;
$chan_stops_next_day = 1;
}
! my $chan_start = "" . $chan_start_dt->ymd('') . $chan_start_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($chan_start_dt->offset);
! my $chan_stop = "" . $chan_stop_dt->ymd('') . $chan_stop_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($chan_stop_dt->offset);
t(" " . $chan_start . " - Start time of channel (normal)");
--- 3116,3143 ----
my $chan_stops_next_day = 0;
if ($chan_start_dt >= $chan_stop_dt) {
! eval { $chan_stop_dt = $chan_stop_dt + $day_dur; };
! if ($@) {
! t(" A valid corrected channel stop time object could not be created for '"
! . $prog->{'_rt_name'} . "', skipping programme");
! return undef;
! }
$chan_stops_next_day = 1;
}
! my $chan_start;
! eval { $chan_start = "" . $chan_start_dt->ymd('') . $chan_start_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($chan_start_dt->offset); };
! if ($@) {
! t(" A valid channel start time string could not be created for '"
! . $prog->{'_rt_name'} . "', skipping programme");
! return undef;
! }
!
! my $chan_stop;
! eval { $chan_stop = "" . $chan_stop_dt->ymd('') . $chan_stop_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($chan_stop_dt->offset); };
! if ($@) {
! t(" A valid channel stop time string could not be created for '"
! . $prog->{'_rt_name'} . "', skipping programme");
! return undef;
! }
t(" " . $chan_start . " - Start time of channel (normal)");
***************
*** 3081,3084 ****
--- 3149,3153 ----
t(" '" . $prog->{'_title'} . "' shown whilst channel is on-air, adding");
}
+
# If the channel starts and stops broadcasting on the same
# calendar day and the programme's start time is outside the
***************
*** 3109,3117 ****
# channel is on-air the _previous_ day.
#
! $chan_start_dt = $chan_start_dt - $day_dur;
! $chan_stop_dt = $chan_stop_dt - $day_dur;
! my $chan_start = "" . $chan_start_dt->ymd('') . $chan_start_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($chan_start_dt->offset);
! my $chan_stop = "" . $chan_stop_dt->ymd('') . $chan_stop_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($chan_stop_dt->offset);
t(" " . $chan_start . " - Start time of channel (previous day)");
--- 3178,3210 ----
# channel is on-air the _previous_ day.
#
! eval { $chan_start_dt = $chan_start_dt - $day_dur; };
! if ($@) {
! t(" A valid channel start time object (prev day) could not be created for '"
! . $prog->{'_rt_name'} . "', skipping programme");
! return undef;
! }
! eval { $chan_stop_dt = $chan_stop_dt - $day_dur; };
! if ($@) {
! t(" A valid channel stop time object (prev day) could not be created for '"
! . $prog->{'_rt_name'} . "', skipping programme");
! return undef;
! }
!
! my $chan_start;
! eval { $chan_start = "" . $chan_start_dt->ymd('') . $chan_start_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($chan_start_dt->offset); };
! if ($@) {
! t(" A valid channel start time string (prev day) could not be created for '"
! . $prog->{'_rt_name'} . "', skipping programme");
! return undef;
! }
!
! my $chan_stop;
! eval { $chan_stop = "" . $chan_stop_dt->ymd('') . $chan_stop_dt->hms('') . ' ' . DateTime::TimeZone->offset_as_string($chan_stop_dt->offset); };
! if ($@) {
! t(" A valid channel stop time string (prev day) could not be created for '"
! . $prog->{'_rt_name'} . "', skipping programme");
! return undef;
! }
t(" " . $chan_start . " - Start time of channel (previous day)");
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140