X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=gal2%2Fgal-cache;h=7d581a632dd21d8dd2a29dab4bd7f90b1a76345d;hb=dca33bff0ad0aff7e0f995c45c2b456cf525ac57;hp=591a1cee3082e86d1778a06dbf43f63bd70ca8fb;hpb=a6d0d32eec237d41a55b9e54b88969d156c3458f;p=gallery.git diff --git a/gal2/gal-cache b/gal2/gal-cache index 591a1ce..7d581a6 100755 --- a/gal2/gal-cache +++ b/gal2/gal-cache @@ -7,7 +7,7 @@ use warnings; use FindBin; use lib $FindBin::Bin; -use UCW::Gallery qw(%CF); +use UCW::Gallery; use Image::Magick; use IO::Handle; @@ -16,15 +16,18 @@ use File::Path; STDOUT->autoflush(1); -UCW::Gallery::LoadConfig; +my $gal = UCW::Gallery->load_config; -my $photo_dir = $CF{'PhotoDir'}; +print "Reading gallery.list\n"; +my $orig_list = $gal->read_list('gallery.list') or die "Cannot read gallery.list: $!\n"; + +my $photo_dir = $gal->get('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 $meta = $gal->read_meta($photo_meta); -my $cache_dir = $CF{'CacheDir'}; +my $cache_dir = $gal->get('CacheDir'); if (-d $cache_dir) { print "Deleting old cache directory: $cache_dir\n"; File::Path::remove_tree($cache_dir); @@ -32,7 +35,15 @@ 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 $thumb_fmt (keys %{$CF{'ThumbFormats'}}) { +# 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 %{$gal->get('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 = {}; @@ -82,4 +93,4 @@ for my $thumb_fmt (keys %{$CF{'ThumbFormats'}}) { my $cache_meta = File::Spec->catfile($cache_dir, 'cache.meta'); print "Writing meta-data to $cache_meta\n"; -UCW::Gallery::WriteMeta($cache_meta, $meta); +$gal->write_meta($cache_meta, $meta);