#!/usr/bin/perl
# UCW Gallery: Scan images and generate image list
-# (c) 2004--2012 Martin Mares <mj@ucw.cz>
+# (c) 2004--2015 Martin Mares <mj@ucw.cz>
use strict;
use warnings;
use UCW::Gallery;
+use UCW::Gallery::Hashes;
use File::Spec;
use Image::EXIF;
-use Digest::SHA;
use Getopt::Long;
if (@ARGV && $ARGV[0] eq '--help') {
}
}
+my $hashes = UCW::Gallery::Hashes->new($gal);
+
print "Scanning photos\n";
my @images = ();
foreach my $src (@source) {
my $path = File::Spec->rel2abs($name, $gal->get('OrigDir'));
-f $path or die "Cannot find $path\n";
- if (!defined $src->{id}) {
- my $sha = Digest::SHA->new(1);
- $sha->addfile($path) or die "Cannot hash $path\n";
- $src->{id} = substr($sha->hexdigest, 0, 16);
- }
+ $src->{id} = $hashes->hash_image($path);
print " id=", $src->{id};
if (!defined $src->{orientation} || $src->{orientation} eq '-') {
$gal->write_list('gallery.list', \@images);
print "Written gallery.list (", (scalar @images), " items)\n";
+$hashes->write;