1 # This is part of ypp-sc-tools, a set of third-party tools for assisting
2 # players of Yohoho Puzzle Pirates.
4 # Copyright (C) 2009 Ian Jackson <ijackson@chiark.greenend.org.uk>
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 # Yohoho and Puzzle Pirates are probably trademarks of Three Rings and
20 # are used without permission. This program is not endorsed or
21 # sponsored by Three Rings.
23 # This package is used by the Mason scripts in yarrg/web/.
24 # We look for a symlink DATA to the actual data to use, so that
25 # the data uploader and website displayer can use different code.
43 our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
46 @EXPORT = qw(&dbw_connect &ocean_list $sourcebasedir);
56 if ($dir =~ m/\.perl-lib$/) {
57 $sourcebasedir= "$dir/..";
58 if (stat "$dir/DATA") {
59 $datadir= "$dir/DATA";
60 } elsif ($!==&ENOENT) {
63 die "stat $dir/DATA $!";
68 defined $sourcebasedir or
69 die "no source base dir in @INC";
75 my $fn= "$datadir/master-info.txt";
76 my $f= new IO::File $fn or die $!;
79 next unless m/^ocean\s+(\S.*\S)\s*$/;
91 die "unknown ocean $ocean ?"
92 unless grep { $_ eq $ocean } ocean_list();
93 return dbr_connect($datadir, $ocean);