# This is part of ypp-sc-tools, a set of third-party tools for assisting # players of Yohoho Puzzle Pirates. # # Copyright (C) 2009 Ian Jackson # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Yohoho and Puzzle Pirates are probably trademarks of Three Rings and # are used without permission. This program is not endorsed or # sponsored by Three Rings. # This package is used by the Mason scripts in yarrg/web/. # We look for a symlink DATA to the actual data to use, so that # the data uploader and website displayer can use different code. package CommodsWeb; use strict; use warnings; use DBI; use POSIX; 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($dbh &db_setocean &db_connect &db_doall &ocean_list); %EXPORT_TAGS = ( ); @EXPORT_OK = qw(); } for my $dir (@INC) { if ($dir =~ m/\.perl-lib$/) { db_setdatadir("$dir/DATA"); last; } } my @ocean_list; sub ocean_list () { if (!@ocean_list) { my $fn= "$db_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; } 1;