use strict;
use warnings;

use Perl6::Slurp;
use File::Basename;
use Image::ExifTool;

use RRT::Misc;

my $name = basename($0);

foreach my $file (@ARGV) {
  my $exifTool = new Image::ExifTool;
  my %options = ();
  $exifTool->ExtractInfo($file, %options);
  open(READER, "-|", "convert", $file, "-size", "160x160", "-resize", "160x160", "jpeg:-");
  my $thumbnail = scalar(slurp '<:raw', *READER);
  $exifTool->SetNewValue('thumbnailimage', $thumbnail);
  # FIXME: Remove manual attribute preservation once Image::ExifTool >= 8.18 is released
  my @attrs = attrs_get($file);
  die "$name: Could not write `$file'n"
    unless $exifTool->WriteInfo($file);
  attrs_set($file, @attrs);
}