parse ladder info from pvpgn logs
[perl/schtarr.git] / 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;