word: language includes for general use
[sheet.git] / tools / mkwordthumb
index 6d1ac671c642c7e169bf02d3e92f9180a078d493..8e7909f5daf0fe2be762cd82c7143603ebf3cedf 100755 (executable)
@@ -4,8 +4,9 @@ use warnings;
 use lib '.';
 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,10 @@ 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.", $@];
+               my $basename = "data/word/en/$row->{id}";
+               $image->convert("$basename.jpg",  $meta->{convert});
+               $image->convert("$basename.webp", $meta->{convert}, '600x400');
        } or warn "$row->{id}: @{$@}";
 }