X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=book%2Fparse-pgn.pl;h=1da3e3acb040664def88db7da940911080f45e41;hp=1668b1e0b2456a5ce05149941a1c18d8b769f913;hb=refs%2Fheads%2Fbook;hpb=7dfa8135cabec7261a2a255e7b5edd679e75da0b diff --git a/book/parse-pgn.pl b/book/parse-pgn.pl index 1668b1e..1da3e3a 100755 --- a/book/parse-pgn.pl +++ b/book/parse-pgn.pl @@ -3,21 +3,16 @@ use Chess::PGN::Parse; use Data::Dumper; use strict; use warnings; -use DBI; -use DBD::Pg; -require 'Position.pm'; -require 'Engine.pm'; -require 'ECO.pm'; +use lib '..'; +use Position; +use Engine; +use ECO; -my $DRYRUN = 1; my $TEXTOUT = 0; my $BINOUT = 1; ECO::init(); -my $dbh = DBI->connect("dbi:Pg:dbname=ficsopening", "sesse", undef); -$dbh->do("COPY opening FROM STDIN") unless $DRYRUN; - my ($filename, $my_num, $tot_num) = @ARGV; my $pgn = Chess::PGN::Parse->new($filename) @@ -50,7 +45,6 @@ while ($pgn->read_game()) { my ($from_row, $from_col, $to_row, $to_col, $promo) = $pos->parse_pretty_move($moves->[$i]); my $next_move = $moves->[$i]; my $bpfen = $pos->bitpacked_fen; - my $bpfen_q = $dbh->quote($bpfen, { pg_type => DBD::Pg::PG_BYTEA }); my $fen = $pos->fen; $opening = ECO::get_opening_num($pos) // $opening; print "$fen $next_move $result $opening\n" if $TEXTOUT; @@ -59,8 +53,6 @@ while ($pgn->read_game()) { print $binresult . $binwhiteelo . $binblackelo; print pack('l', $opening); } - $dbh->pg_putcopydata("$bpfen_q\t$next_move\t$result\n") unless $DRYRUN; $pos = $pos->make_move($from_row, $from_col, $to_row, $to_col, $promo, $moves->[$i]); } } -$dbh->pg_putcopyend unless $DRYRUN;