X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=scripts%2Fscans.pl;h=89dd92c787f18424fc2fe7d7994c0d2aa4aa55aa;hb=07d0555058636b2b6ebb8c6bd757f9dfde072dba;hp=525c969c9d42c8876200491b1813909415900438;hpb=0000c72e6700ef1af5dd4ef608d6a9f00b30442d;p=ndwebbie.git diff --git a/scripts/scans.pl b/scripts/scans.pl index 525c969..89dd92c 100755 --- a/scripts/scans.pl +++ b/scripts/scans.pl @@ -85,31 +85,11 @@ my $addintel = $dbh->prepare(q{INSERT INTO intel (name,mission,sender,target,tic VALUES(?,?,?,?,?,?,?,?,?,-1) RETURNING id}); my $intelscan = $dbh->prepare(q{INSERT INTO intel_scans (intel,id) VALUES(?,?)}); my $addships = $dbh->prepare(q{INSERT INTO fleet_ships (fid,ship,amount) VALUES(?,?,?)}); -my $addplanetscan = $dbh->prepare(q{INSERT INTO planet_scans - (id,tick,pid,metal_roids,metal,crystal_roids,crystal,eonium_roids,eonium - ,agents,guards,light,medium,heavy,hidden) - VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}); sub parse_planet { my ($scan,$file) = @_; - my @values = ($scan->{id},$scan->{tick},$scan->{pid}); - $file =~ s/(\d),(\d)/$1$2/g; - - while($file =~ m{"center">(Metal|Crystal|Eonium)\D+(\d+)\D+([\d,]+)}g){ - push @values,$2,$3; - } - if($file =~ m{Security\ Guards .+? "center">(\d+) - .+? "center">(\d+)}sx){ - push @values,$1,$2; - } - if($file =~ m{([A-Z][a-z]+)([A-Z][a-z]+)([A-Z][a-z]+)}){ - push @values,$1,$2,$3; - } - if($file =~ m{([\d,]+)}){ - push @values,$1; - } - $addplanetscan->execute(@values); + doPlanetScan($dbh, $scan, $file); } sub parse_incoming { @@ -133,7 +113,7 @@ sub parse_jumpgate { my ($scan,$file) = @_; $file =~ s/,//g; - while ($file =~ m{(\d+):(\d+):(\d+)\D+(Attack|Defend|Return)([^<]*)\D+(\d+)\D+(\d+)}g){ + while ($file =~ m{(\d+):(\d+):(\d+)(?::\d+)?\D+(Attack|Defend|Return)([^<]*)\D+(\d+)\D+(\d+)}g){ my ($sender) = $dbh->selectrow_array($findplanet,undef,$1,$2,$3,$scan->{tick}); ($sender) = $dbh->selectrow_array($findoldplanet,undef,$1,$2,$3,$scan->{tick}) if ((not defined $sender) && $4 eq 'Return');