X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/9ddf2e9a6173fcb1649ab9dd72ded3896195c83f..0d7d8b502321cdd3d041b756c742a4805b009f8f:/tools/mkwordlist?ds=sidebyside diff --git a/tools/mkwordlist b/tools/mkwordlist index 3c5aac9..78e36b6a 100755 --- a/tools/mkwordlist +++ b/tools/mkwordlist @@ -4,16 +4,23 @@ use warnings; BEGIN { push @INC, '.' } use Shiar_Sheet::DB; -use open ':std' => ':utf8'; +use open ':std' => ':encoding(utf-8)'; my $db = Shiar_Sheet::DB->connect; say 'use utf8;'; use Data::Dump 'pp'; +my %rows; if (my $lang = shift @ARGV) { my %filter = (lang => $lang); - say pp({ $db->select('_word_ref w' => "ref, exportform(row(w.*))", \%filter)->map }) + 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; + say pp \%rows =~ s/\\x\{([0-9A-F]+)\}/chr hex $1/ger; exit; } -say pp { $db->select(_cat_words => "coalesce(id::text, ''), forms")->map }; +else { + %rows = $db->select(_cat_words => "coalesce(id::text, ''), forms")->map; + $_ = [ map { [split /:/, $_, 3] } @{$_} ] for values %rows; + say pp \%rows; +}