X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/0d7d8b502321cdd3d041b756c742a4805b009f8f..HEAD:/tools/mkwordlist diff --git a/tools/mkwordlist b/tools/mkwordlist index 78e36b6a..7611b9f 100755 --- a/tools/mkwordlist +++ b/tools/mkwordlist @@ -11,16 +11,16 @@ say 'use utf8;'; use Data::Dump 'pp'; my %rows; -if (my $lang = shift @ARGV) { +my $lang = shift @ARGV or die "Missing language\n"; +{ my %filter = (lang => $lang); - my $cols = "ref, array_to_string(form || alt, '/'), prio + coalesce(grade, 90) / 100::float, id, cat"; - %rows = $db->select(_word_ref => $cols, \%filter)->map_arrays; + my $cols = "ref, array_to_string(form || alt, '/'), prio, id, sub"; + %rows = $db->select(_word => $cols, \%filter)->map_arrays; + defined $_->[-1] or pop @$_ for values %rows; + $rows{''} = [ + (undef) x 3, + [$db->select(word => 'id', {cat => undef, ref => undef})->flat] + ]; say pp \%rows =~ s/\\x\{([0-9A-F]+)\}/chr hex $1/ger; - exit; -} -else { - %rows = $db->select(_cat_words => "coalesce(id::text, ''), forms")->map; - $_ = [ map { [split /:/, $_, 3] } @{$_} ] for values %rows; - say pp \%rows; }