]> git.sesse.net Git - remoteglot-book/blobdiff - www/opening-stats.pl
Fix base opening-stats.pl for the new computer game count.
[remoteglot-book] / www / opening-stats.pl
index e809088cbaf3af9f4e594c24f49560f9155f658a..aea5db863bdd6139c5b47ad69d576418d911a1b4 100755 (executable)
@@ -55,6 +55,12 @@ for my $move (@{$root_aux_data->{'moves'}}) {
        my $json_pos;
        if ($includetransp) {
                ($json_pos, undef) = get_json_move($np, undef, $chld_in, $chld_out);
+
+               # See if this move exists only due to transpositions.
+               my ($alt_json_pos, undef) = get_json_move($np, $root_aux_data->{'pos_hash'}, $chld_in, $chld_out);
+               if (!defined($alt_json_pos)) {
+                       $json_pos->{'transpose_only'} = 1;
+               }
        } else {
                ($json_pos, undef) = get_json_move($np, $root_aux_data->{'pos_hash'}, $chld_in, $chld_out);
        }
@@ -124,14 +130,15 @@ sub get_json_move {
        chomp (my $line = <$chld_out>);
        if ($line eq '-') {
                warn "Missing pos '" . $pos->fen . "' " . $filter_prev_pos_hash;
-               return ({}, {});
+               return (undef, undef);
        }
 
-       my ($white, $draw, $black, $opening_num, $white_sum_elo, $black_sum_elo, $num_elo, $timestamp, $pgn_file_number, $pgn_start_position, @moves) = split / /, $line;
+       my ($white, $draw, $black, $computer, $opening_num, $white_sum_elo, $black_sum_elo, $num_elo, $timestamp, $pgn_file_number, $pgn_start_position, @moves) = split / /, $line;
        my $json_pos = {
                white => $white,
                draw => $draw,
                black => $black,
+               computer => $computer,
                white_avg_elo => $num_elo == 0 ? undef : $white_sum_elo / $num_elo,
                black_avg_elo => $num_elo == 0 ? undef : $black_sum_elo / $num_elo,
                num_elo => $num_elo,