[Midnightbsd-cvs] mports: Tools/lib: Add ping() method to Magus::DBI.

ctriv at midnightbsd.org ctriv at midnightbsd.org
Mon May 5 15:47:20 EDT 2008


Log Message:
-----------
Add ping() method to Magus::DBI.
Magus now uses it at init time.

Modified Files:
--------------
    mports/Tools/lib:
        Magus.pm (r1.7 -> r1.8)
    mports/Tools/lib/Magus:
        DBI.pm (r1.4 -> r1.5)

-------------- next part --------------
Index: Magus.pm
===================================================================
RCS file: /home/cvs/mports/Tools/lib/Magus.pm,v
retrieving revision 1.7
retrieving revision 1.8
diff -L Tools/lib/Magus.pm -L Tools/lib/Magus.pm -u -r1.7 -r1.8
--- Tools/lib/Magus.pm
+++ Tools/lib/Magus.pm
@@ -25,9 +25,13 @@
 our $Machine;
 
 BEGIN {
-  $Machine = Magus::Machine->retrieve(
-    name => $Magus::Config{'Machine'}
-  ) || die "Invalid machine: $Magus::Config{Machine}\n";
+  if (Magus::DBI->ping) {
+    $Machine = Magus::Machine->retrieve(
+      name => $Magus::Config{'Machine'}
+    ) || die "Invalid machine: $Magus::Config{Machine}\n";
+  } else {
+    warn "Warning: Unable to connect to database.  \$Magus::Machine unset.\n";
+  }
 }
 
 
Index: DBI.pm
===================================================================
RCS file: /home/cvs/mports/Tools/lib/Magus/DBI.pm,v
retrieving revision 1.4
retrieving revision 1.5
diff -L Tools/lib/Magus/DBI.pm -L Tools/lib/Magus/DBI.pm -u -r1.4 -r1.5
--- Tools/lib/Magus/DBI.pm
+++ Tools/lib/Magus/DBI.pm
@@ -42,6 +42,25 @@
 );
 
 
+=head2 Magus::DBI->ping
+
+Return true if we can connect to the database, false otherwise.
+
+=cut
+
+sub ping {
+  my ($class) = @_;
+  
+  eval {
+    my $dbh = $class->db_Main();
+    
+    return $dbh->ping;
+  };
+  
+  return;
+}
+    
+
 
 =head2 $obj->refresh
 


More information about the Midnightbsd-cvs mailing list