use strict;
use warnings;
+use local::lib;
use DBI;
use DBD::Pg qw(:pg_types);
-use LWP::Simple;
+use LWP::Simple qw/head get $ua/;
+$ua->agent("Stupid user agent check is stupid");
+
+use FindBin;
+use lib "$FindBin::Bin/../lib";
+
+use ND::DB;
+
+our $dbh = ND::DB::DB();
-$0 =~ /(.*\/)[^\/]/;
-my $dir = $1;
-our $dbh;
-for my $file ("/home/whale/db.pl")
-{
- unless (my $return = do $file){
- warn "couldn't parse $file: $@" if $@;
- warn "couldn't do $file: $!" unless defined $return;
- warn "couldn't run $file" unless $return;
- }
-}
$dbh->do("SET CLIENT_ENCODING TO 'LATIN1';");
my $insert = $dbh->prepare("INSERT INTO dumps(tick,type,modified,dump) VALUES(?,?,?,?)");
$select->execute($type,$head[2]);
unless ($select->fetchrow){
my $file = get("http://game.planetarion.com/botfiles/${type}_listing.txt");
- if ($file =~ /Tick: (\d+)/){
+ if (defined $file && $file =~ /Tick: (\d+)/){
$updated = $1;
$insert->execute($1,$type,$head[2],$file);
}
}
if ($updated){
- `${dir}parsedumps.pl $updated`;
- `${dir}ndrank.pl`;
- $dbh->do("UPDATE misc SET value = ? WHERE id = 'TICK'", undef, $updated);
+ `perl $FindBin::Bin/parsealliances.pl $updated`;
+ `perl $FindBin::Bin/parseplanets.pl $updated`;
+ `perl $FindBin::Bin/parsegalaxies.pl $updated`;
+ `perl $FindBin::Bin/ndrank.pl`;
+ $dbh->do(q{UPDATE misc SET value = ? WHERE id = 'TICK'}, undef, $updated);
+ system 'killall','-USR1', 'ndbot.pl';
+ local $dbh->{Warn} = 0;
}