use Commods;
use CommodsDatabase;
+our $self_url;
+our $base_url;
+
BEGIN {
use Exporter ();
our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
$VERSION = 1.00;
@ISA = qw(Exporter);
- @EXPORT = qw();
+ @EXPORT = qw(&dbw_connect &ocean_list $sourcebasedir);
%EXPORT_TAGS = ( );
@EXPORT_OK = qw();
}
+our $datadir='.';
+our $sourcebasedir;
+
for my $dir (@INC) {
if ($dir =~ m/\.perl-lib$/) {
- db_setdatadir("$dir/DATA");
+ $sourcebasedir= "$dir/..";
+ if (stat "$dir/DATA") {
+ $datadir= "$dir/DATA";
+ } elsif ($!==&ENOENT) {
+ $datadir= "$dir";
+ } else {
+ die "stat $dir/DATA $!";
+ }
last;
}
}
+defined $sourcebasedir or
+ die "no source base dir in @INC";
+
+my @ocean_list;
+
+sub ocean_list () {
+ if (!@ocean_list) {
+ my $fn= "$datadir/master-info.txt";
+ my $f= new IO::File $fn or die $!;
+ my @r;
+ while (<$f>) {
+ next unless m/^ocean\s+(\S.*\S)\s*$/;
+ push @r, $1;
+ }
+ $f->error and die $!;
+ close $fn;
+ @ocean_list= @r;
+ }
+ return @ocean_list;
+}
+
+sub dbw_connect ($) {
+ my ($ocean) = @_;
+ die "unknown ocean $ocean ?"
+ unless grep { $_ eq $ocean } ocean_list();
+ return dbr_connect($datadir, $ocean);
+}
1;