strip path name to pvpgn report file for name
[perl/schtarr.git] / pvpgnreport
index 1a91ddf83a63210f875786146e295b96a18be388..b98fce6019fa93a13412eb98ce8dd267626bba34 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;
@@ -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;