+ my $id = addfleet($scan->{type},'Full fleet',$file,$scan->{planet},$scan->{tick});
+ $fleetscan->execute($id,$scan->{id}) or die $dbh->errstr;
+}
+
+sub parse_jumpgate {
+ my ($scan,$file) = @_;
+
+ while ($file =~ m{(\d+):(\d+):(\d+)\D+(Attack|Defend|Return)</td><td class="left">([^<]*)\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');
+ my $id = addintel($5,$4,$sender,$scan->{planet},$scan->{tick}+$6,$6
+ ,undef,$7, $scan->{x} == $1 && $scan->{y} == $2);
+ $intelscan->execute($id,$scan->{id});
+ }
+
+}
+
+my $adddevscan = $dbh->prepare(q{INSERT INTO development_scans
+ (id,tick,planet,light_fac,medium_fac,heavy_fac,amps,distorters
+ ,metal_ref,crystal_ref,eonium_ref,reslabs,fincents,seccents
+ ,travel,infra,hulls,waves,extraction,covert,mining,total)
+ VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ });
+
+
+my %parsers = (
+ Planet => \&parse_planet,
+ Incoming => \&parse_incoming,
+ Unit => \&parse_unit,
+ 'Advanced Unit' => \&parse_unit,
+ Jumpgate => \&parse_jumpgate,
+);
+
+
+$dbh->begin_work or die 'No transaction';