parse ladder info from pvpgn logs
authorShiar <shiar@shiar.org>
Tue, 13 Nov 2007 23:36:27 +0000 (23:36 +0000)
committerShiar <shiar@shiar.org>
Mon, 31 Dec 2007 15:41:02 +0000 (15:41 +0000)
pvpgnreport

index 1a91ddf83a63210f875786146e295b96a18be388..6d601f6688098dc752d457e89b5d39ecb27df12f 100755 (executable)
@@ -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;