summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2007-11-04 09:47:14 +0000
committerAndreas Brachold <vdr07@deltab.de>2007-11-04 09:47:14 +0000
commit9555c4e49ce24d4d061997f7fde29372d728361d (patch)
treeb537ea61d87aaec1d4bb88bdf88e067d4bc2329d /lib
parent85d9053b9f77e3b57608e7bc1e2e96a1ee8b9dfc (diff)
downloadxxv-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.pm15
-rw-r--r--lib/XXV/MODULES/RECORDS.pm35
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});