add DXSql module and condiational processing
[spider.git] / perl / DXSql.pm
diff --git a/perl/DXSql.pm b/perl/DXSql.pm
new file mode 100644 (file)
index 0000000..932b9b0
--- /dev/null
@@ -0,0 +1,50 @@
+#
+# The master SQL module
+#
+# $Id$
+#
+# Copyright (c) 2006 Dirk Koopman G1TLH
+#
+
+package DXSql;
+
+use strict;
+
+our $active = 0;
+
+sub init
+{
+       return $active if $active;
+       
+       eval { 
+               require DBI;
+       };
+       unless ($@) {
+               import DBI;
+               $active++;
+       }
+       return $active;
+} 
+
+sub new
+{
+       my $class = shift;
+       my $dsn = shift;
+       my $user = shift;
+       my $passwd = shift;
+       my $self;
+       
+       return undef unless $active;
+       my $dbh;
+       eval {$dbh = DBI->connect($dsn, $user, $passwd); };
+       $self = bless {dbh => $dbh}, $class if $dbh;
+       return $self;
+}
+
+sub finish
+{
+       my $self = shift;
+       $self->{dbh}->disconnect;
+} 
+1;
+