X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-test.git;a=blobdiff_plain;f=pctb%2FCommodsDatabase.pm;fp=pctb%2FCommodsDatabase.pm;h=4866c855d3baacccc7c29ae754a60415169672d6;hp=0000000000000000000000000000000000000000;hb=4082d99f96937ee23634130df98a376f1643086b;hpb=a5ec88cc0c003b52afa18af3a97242fe891501b8 diff --git a/pctb/CommodsDatabase.pm b/pctb/CommodsDatabase.pm new file mode 100644 index 0000000..4866c85 --- /dev/null +++ b/pctb/CommodsDatabase.pm @@ -0,0 +1,69 @@ +# 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. + +package CommodsDatabase; + +use strict; +use warnings; + +use DBI; + +use Commods; + +BEGIN { + use Exporter (); + our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); + $VERSION = 1.00; + @ISA = qw(Exporter); + @EXPORT = qw(&db_setocean &db_connect $dbh + &db_filename &db_doall); + %EXPORT_TAGS = ( ); + + @EXPORT_OK = qw(); +} + +our $dbfn; +our $dbh; + +sub db_setocean ($) { + my ($oceanname) = @_; + $dbfn= "OCEAN-$oceanname.db"; +} +sub db_filename () { + return $dbfn; +} + +sub db_connect () { + $dbh= DBI->connect("dbi:SQLite:$dbfn",'','', + { AutoCommit=>0, + RaiseError=>1, ShowErrorStatement=>1, + unicode=>1 }) + or die "$dbfn $DBI::errstr ?"; +} + +sub db_doall ($) { + foreach my $cmd (split /\;/, $_[0]) { + $dbh->do("$cmd;") if $cmd =~ m/\S/; + } +} + +1;