summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2011-05-28 06:31:14 +0000
committerAndreas Brachold <vdr07@deltab.de>2011-05-28 06:31:14 +0000
commit4bb95f3d71a36d7a10433edba6cac5a34c34314b (patch)
treee6a53caa0e75de3d3b8137d43163ff8d32405ec3
parent53f47bc8ee57938047e49967583369dca4189117 (diff)
downloadxxv-4bb95f3d71a36d7a10433edba6cac5a34c34314b.tar.gz
xxv-4bb95f3d71a36d7a10433edba6cac5a34c34314b.tar.bz2
RECORDS: Improve handling if vdr offline
-rw-r--r--lib/XXV/MODULES/RECORDS.pm10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/XXV/MODULES/RECORDS.pm b/lib/XXV/MODULES/RECORDS.pm
index 87724f3..a763e85 100644
--- a/lib/XXV/MODULES/RECORDS.pm
+++ b/lib/XXV/MODULES/RECORDS.pm
@@ -756,8 +756,7 @@ sub _readData {
foreach my $vid (@$hostlist) {
my ($lstr,$error) = $self->{svdrp}->command('lstr',$vid);
my $hostname = $self->{svdrp}->hostname($vid);
- my $vdata = [ grep(/^250/, @$lstr) ];
- if($error) {
+ if($error || !(defined $lstr)) {
if($console) {
my $msg = [
sprintf(gettext("Can't read recordings from %s !"),$hostname),
@@ -766,12 +765,12 @@ sub _readData {
$console->err($msg);
}
# ignore data from offline host
- if(!$forceUpdate && $self->{svdrp}->is_host_online($vid) ne 'yes') {
- my $osth = $self->{dbh}->prepare('SELECT hash FROM RECORDS as r,OLDEPG as e where r.eventid = e.eventid and vid = ?');
+ if($self->{svdrp}->is_host_online($vid) ne 'yes') {
+ my $osth = $self->{dbh}->prepare('SELECT CONCAT_WS("~",e.title,e.subtitle,UNIX_TIMESTAMP(e.starttime)) as idx FROM RECORDS as r,OLDEPG as e where r.eventid = e.eventid and vid = ?');
if(!$osth->execute($vid)) {
con_err($console, sprintf("Couldn't execute query: %s.",$osth->errstr));
}
- my $ignoreRecordings = $osth->fetchall_hashref('hash');
+ my $ignoreRecordings = $osth->fetchall_hashref('idx');
foreach my $k (keys %{$ignoreRecordings}) {
delete $outdatedRecordings->{$k};
}
@@ -799,6 +798,7 @@ sub _readData {
$self->{Capacity}->{$vid}->{size} = 0;
}
+ my $vdata = [ grep(/^250/, @$lstr) ];
# There none recordings present
unless(scalar @$vdata) {
unless($forceUpdate) {