X-Git-Url: http://git.shiar.net/perl/schtarr.git/blobdiff_plain/66615c316074968c4c39fd3962ba2e7eacedd44c..3e6134cf2cdf211443c23df28b4e310202875875:/pvpgnreport diff --git a/pvpgnreport b/pvpgnreport index 1a91ddf..049ffb2 100755 --- a/pvpgnreport +++ b/pvpgnreport @@ -32,9 +32,20 @@ sub reportplayers { while (defined ($_ = readline $reportfile)) { # ignore leading empty lines; stop if trailing /\S/ or @player ? last : next; - my ($name, $result) = /^ (.*?) \s+ ([A-Z]+) \s*$/x + my ($name, $result, $ladder) = /^ (\S+) \s+ ([A-Z]+) \s* (.*)/x or chomp, warn("Unknown pvpgn report player line: $_\n"); push @player, {name => $name, result => $result}; + if ($ladder) { + my @ladderdata = $ladder =~ m{ + ^ \s* rating=(\d+) \s+ \[\#\d+\] + \s+ prob=([\d.]+)% \s+ K=(\d+) \s+ adj=([+-]\d+) \s* $ + }x ? $player[-1]{ladder} = { + rating => $1, + prob => $2, + K => $3, + adj => $4, + } : warn("Unknown ladder details for player $name: $ladder\n"); + } } my $i = -1; @@ -51,8 +62,9 @@ sub reportplayers { return \@player; } -my $name = $ARGV[0] or die "Usage: $0 FILE\n"; -open my $reportfile, '<', "$name.txt" or die "No report file: $!\n"; +my $path = $ARGV[0] or die "Usage: $0 FILE\n"; +my ($name) = $path =~ m{([^/]+)$}; +open my $reportfile, '<', "$path.txt" or die "No report file: $!\n"; my $report = reporthead($reportfile); print Dumper $report if $DBG; @@ -94,7 +106,9 @@ $Db->insert("game", { start => time2str('%Y-%m-%d %X', $start), duration => sprintf('%d seconds', $end - $start), })->rows or die "Game insert failed: ".$Db->error."\n"; -my $gameid = $Db->last_insert_id((undef) x 4, {sequence => "game_id_seq"}); +my $gameid = $Db->last_insert_id((undef) x 4, {sequence => "game_id_seq"}) + or die "Couldn't find our game insertion: ".$Db->error."\n"; +print "Game inserted as # $gameid\n"; $Db->insert("play", { game => $gameid,