]> git.etc.gen.nz Git - mythtv-status.git/commitdiff
Better suppress warnings from the API by using our own warning signal handler. release-0.5 origin/release-0.5
authorAndrew Ruthven <andrew@etc.gen.nz>
Thu, 6 Dec 2007 18:09:47 +0000 (07:09 +1300)
committerAndrew Ruthven <andrew@etc.gen.nz>
Thu, 6 Dec 2007 18:09:47 +0000 (07:09 +1300)
ChangeLog
bin/mythtv-status

index 38ad4a35665edabc3e95eabb6d0fcf9cdcbcc76a..0e76a94d5798708e4215f769adec43218a84fb47 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-12-07     Andrew Ruthven
+       Better suppress warnings from the MythTV Perl API if we can't access
+         the database.
+
 2007-12-06     Andrew Ruthven
        Be more paranoid about handling error conditions in the
          substitution code.
index 0fece7dc9496f55b87fa339fdd4ab7a57bd07a61..3eb521f45dad767b48a7c34eab5f3a2fdbdbd843 100755 (executable)
@@ -322,7 +322,12 @@ sub load_perl_api {
   my $myth = undef;
 
   eval { require MythTV };
-  if (! $@) {
+  if ($@) {
+    print $@
+      if $verbose;
+  } else {
+    # Surpress warnings from DBI.  I tried unsetting $^W but that is ignored.
+    local($SIG{__WARN__}) = sub { if ($verbose) { print shift } };
     eval { $myth = new MythTV() };
   }
 
@@ -371,7 +376,7 @@ sub process_conflicts {
   my ($block) = @_;
   $myth ||= load_perl_api();
 
-  return "Unable to access MythTV Perl API."
+  return "Unable to access MythTV Perl API.  Try with --verbose to find out why."
     unless defined $myth;
 
   my @lines;