index: release v1.18 with only altgr index linked
[sheet.git] / tools / mkwordlist
1 #!/usr/bin/env perl
2 use 5.014;
3 use warnings;
4
5 BEGIN { push @INC, '.' }
6 use Shiar_Sheet::DB;
7 use open ':std' => ':encoding(utf-8)';
8 my $db = Shiar_Sheet::DB->connect;
9
10 say 'use utf8;';
11
12 use Data::Dump 'pp';
13 my %rows;
14 my $lang = shift @ARGV or die "Missing language\n";
15 {
16         my %filter = (lang => $lang);
17         my $cols = "ref, array_to_string(form || alt, '/'), prio, id, sub";
18         %rows = $db->select(_word => $cols, \%filter)->map_arrays;
19         defined $_->[-1] or pop @$_ for values %rows;
20         $rows{''} = [
21                 (undef) x 3,
22                 [$db->select(word => 'id', {cat => undef, ref => undef})->flat]
23         ];
24         say pp \%rows
25                 =~ s/\\x\{([0-9A-F]+)\}/chr hex $1/ger;
26 }