X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=scripts%2Ffetchdumps.pl;h=4a7ae1b6b774dd5b6226614b812a63dc0cad5bbb;hb=HEAD;hp=b8be1c36ca111561d5054337d18ecba75fc84b9b;hpb=8ce23c2d82afd4382c05a8bdc81e850a1fb16346;p=ndwebbie.git diff --git a/scripts/fetchdumps.pl b/scripts/fetchdumps.pl index b8be1c3..4a7ae1b 100755 --- a/scripts/fetchdumps.pl +++ b/scripts/fetchdumps.pl @@ -22,18 +22,20 @@ q{ 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 lib qw{/var/www/ndawn/}; use ND::DB; our $dbh = ND::DB::DB(); -$dbh->do("SET CLIENT_ENCODING TO 'LATIN1';"); - my $insert = $dbh->prepare("INSERT INTO dumps(tick,type,modified,dump) VALUES(?,?,?,?)"); my $select = $dbh->prepare("SELECT 1 FROM dumps WHERE type = ? AND modified = ?"); my $updated = 0; @@ -42,7 +44,7 @@ for my $type ("planet","alliance","galaxy"){ $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); } @@ -51,9 +53,11 @@ for my $type ("planet","alliance","galaxy"){ } if ($updated){ - `/var/www/ndawn/scripts/parsedumps.pl $updated`; - `/var/www/ndawn/scripts/ndrank.pl`; - $dbh->do("UPDATE misc SET value = ? WHERE id = 'TICK'", undef, $updated); + system("$FindBin::Bin/parsetick.sh", $updated); + system("$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; }