diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2007-11-04 09:47:14 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2007-11-04 09:47:14 +0000 |
| commit | 9555c4e49ce24d4d061997f7fde29372d728361d (patch) | |
| tree | b537ea61d87aaec1d4bb88bdf88e067d4bc2329d /lib | |
| parent | 85d9053b9f77e3b57608e7bc1e2e96a1ee8b9dfc (diff) | |
| download | xxv-9555c4e49ce24d4d061997f7fde29372d728361d.tar.gz xxv-9555c4e49ce24d4d061997f7fde29372d728361d.tar.bz2 | |
* RECORDS/EPG: rdisplay/display - Display warning message if recording/event none exist
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/XXV/MODULES/EPG.pm | 15 | ||||
| -rw-r--r-- | lib/XXV/MODULES/RECORDS.pm | 35 |
2 files changed, 34 insertions, 16 deletions
diff --git a/lib/XXV/MODULES/EPG.pm b/lib/XXV/MODULES/EPG.pm index cb1ef81..1870766 100644 --- a/lib/XXV/MODULES/EPG.pm +++ b/lib/XXV/MODULES/EPG.pm @@ -723,7 +723,13 @@ sub display { my $obj = shift || return error('No object defined!'); my $watcher = shift || return error('No watcher defined!'); my $console = shift || return error('No console defined!'); - my $eventid = shift || return $console->err(gettext("No ID defined to display this program! Please use display 'eid'!")); + my $eventid = shift; + + unless($eventid) { + $console->{call} = 'message'; #reset default widget, avoid own widget + $console->err(gettext("No ID defined to display this program! Please use display 'eid'!")); + return; + } my %f = ( 'Id' => umlaute(gettext('Service')), @@ -778,8 +784,11 @@ where if(scalar @{$erg} != 0 ); } - return $console->err(sprintf(gettext("No data to display for event '%d'!"),$eventid)) - if(scalar @{$erg} == 0 ); + if(scalar @{$erg} == 0 ) { + $console->{call} = 'message'; #reset default widget, avoid own widget + $console->err(sprintf(gettext("Event '%d' does not exist in the database!"),$eventid)); + return; + } unshift(@$erg, $fields); diff --git a/lib/XXV/MODULES/RECORDS.pm b/lib/XXV/MODULES/RECORDS.pm index f0e44c0..668f540 100644 --- a/lib/XXV/MODULES/RECORDS.pm +++ b/lib/XXV/MODULES/RECORDS.pm @@ -1140,7 +1140,13 @@ sub display { my $obj = shift || return error('No object defined!'); my $watcher = shift || return error('No watcher defined!'); my $console = shift || return error('No console defined!'); - my $recordid = shift || return $console->err(gettext("No recording defined for display! Please use rdisplay 'rid'")); + my $recordid = shift; + + unless($recordid) { + $console->{call} = 'message'; #reset default widget, avoid own widget + $console->err(gettext("No recording defined for display! Please use rdisplay 'rid'")); + return; + } my $start = "e.starttime"; my $stopp = "FROM_UNIXTIME(UNIX_TIMESTAMP(e.starttime) + e.duration)"; @@ -1171,25 +1177,29 @@ where and RecordMD5 = ? |; + my $rec; my $fields = fields($obj->{dbh}, $sql); my $sth = $obj->{dbh}->prepare($sql); - $sth->execute($recordid) - or return error sprintf("Couldn't execute query: %s.",$sth->errstr); - my $erg = $sth->fetchrow_hashref(); + if(!$sth->execute($recordid) + || !($rec = $sth->fetchrow_hashref())) { + $console->{call} = 'message'; + $console->err(sprintf(gettext("Recording '%s' does not exist in the database!"),$recordid)); + return; + } $obj->_loadreccmds; my $param = { - previews => $obj->getPreviewFiles($erg->{eventid}), + previews => $obj->getPreviewFiles($rec->{eventid}), reccmds => [@{$obj->{reccmds}}], }; my $cmod = main::getModule('CHANNELS'); - $erg->{Channel} = $cmod->ChannelToName($erg->{channel_id}) - if($erg->{channel_id} && $erg->{channel_id} ne "<undef>"); - delete $erg->{channel_id}; + $rec->{Channel} = $cmod->ChannelToName($rec->{channel_id}) + if($rec->{channel_id} && $rec->{channel_id} ne "<undef>"); + delete $rec->{channel_id}; - $console->table($erg, $param); + $console->table($rec, $param); } # ------------------ @@ -1534,11 +1544,10 @@ WHERE AND ( r.RecordMD5 = ? ) |; my $sth = $obj->{dbh}->prepare($sql); - if($sth->execute($recordid)) { - $rec = $sth->fetchrow_hashref() + if(!$sth->execute($recordid) + || !($rec = $sth->fetchrow_hashref())) { + return $console->err(sprintf(gettext("Recording '%s' does not exist in the database!"),$recordid)); } - return $console->err(sprintf(gettext("Recording '%s' does not exist in the database!"),$recordid)) - unless($rec); } my $file = sprintf("%s/info.vdr", $rec->{Path}); |
