X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gal2%2Fgal-cache;h=99095075e1b216f81f1993ca550d11045086a3b3;hb=02daff90e4849847aebbfd8f4ccc56958e760ea5;hp=426335e5023f6ae98be8888246f0eaa30690e894;hpb=b89f977dc5a5d785766118992aa90a7eff7b5d3b;p=gallery.git diff --git a/gal2/gal-cache b/gal2/gal-cache index 426335e..9909507 100755 --- a/gal2/gal-cache +++ b/gal2/gal-cache @@ -5,8 +5,9 @@ use strict; use warnings; -use lib '/home/mj/web/gal2'; -use UCW::Gallery; +use FindBin; +use lib $FindBin::Bin; +use UCW::Gallery qw(%CF); use Image::Magick; use IO::Handle; @@ -17,13 +18,16 @@ STDOUT->autoflush(1); UCW::Gallery::LoadConfig; -my $photo_dir = $UCW::Gallery::CF{'PhotoDir'}; +print "Reading gallery.list\n"; +my $orig_list = UCW::Gallery::ReadList('gallery.list') or die "Cannot read gallery.list: $!\n"; + +my $photo_dir = $CF{'PhotoDir'}; my $photo_meta = File::Spec->catfile($photo_dir, 'gallery.meta'); print "Reading meta-data from $photo_meta\n"; -f $photo_meta or die "Cannot load $photo_meta\n"; my $meta = UCW::Gallery::ReadMeta($photo_meta); -my $cache_dir = $UCW::Gallery::CF{'CacheDir'}; +my $cache_dir = $CF{'CacheDir'}; if (-d $cache_dir) { print "Deleting old cache directory: $cache_dir\n"; File::Path::remove_tree($cache_dir); @@ -31,9 +35,16 @@ if (-d $cache_dir) { print "Creating cache directory: $cache_dir\n"; File::Path::mkpath($cache_dir) or die "Unable to create $cache_dir: $!\n"; -for my $t (@{$UCW::Gallery::CF{'ThumbSizes'}}) { - my ($tw, $th) = @$t; - my $thumb_fmt = $tw . 'x' . $th; +# Construct sequence and store photo titles +$meta->{sequence} = []; +for my $f (@$orig_list) { + push @{$meta->{sequence}}, $f->{id}; + my $m = $meta->{photo}->{$f->{id}} or die; + $m->{title} = $f->{title}; +} + +for my $thumb_fmt (keys %{$CF{'ThumbFormats'}}) { + my ($tw, $th) = ($thumb_fmt =~ m{^(\d+)x(\d+)$}) or die "Cannot parse thumbnail format $thumb_fmt\n"; print "Generating $thumb_fmt thumbnails\n"; my $thumb_meta = {}; $meta->{thumb}->{$thumb_fmt} = $thumb_meta;