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;
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);
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;