keyboard/altgr/unigraph: link im emoji; assign final ▪
[sheet.git] / tools / mkwordthumb
index 6d1ac671c642c7e169bf02d3e92f9180a078d493..34c3b6ad8ebd99473d60e0427678297233dba027 100755 (executable)
@@ -1,11 +1,12 @@
 #!/usr/bin/env perl
 use 5.014;
 use warnings;
-use lib '.';
+use lib $0 =~ s{[^/]+$}{..}r; # project root
 use Shiar_Sheet::ImagePrep;
 use Shiar_Sheet::DB;
+use JSON ();
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 my $db = Shiar_Sheet::DB->connect;
 my %filter = @ARGV ? (id => shift) : ();
@@ -14,6 +15,8 @@ my $query = $db->select(word => '*', \%filter);
 while (my $row = $query->hash) {
        my $image = Shiar_Sheet::ImagePrep->new("data/word/org/$row->{id}.jpg");
        eval {
-               $image->convert("data/word/en/$row->{id}.jpg", $row->{thumb});
+               my $meta = eval { JSON->new->decode($row->{image} // '{}') }
+                       or die ["Invalid JSON metadata in image column.", $@];
+               $image->generate("data/word/32/$row->{id}.jpg", $meta->{convert});
        } or warn "$row->{id}: @{$@}";
 }