diff options
author | Daniel Friesel <derf@finalrewind.org> | 2017-03-24 17:28:21 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2017-03-24 17:28:21 +0100 |
commit | 3a7baab7344d933e9534716ddd9ff88645dcecfa (patch) | |
tree | de5c461b25307ad3464324d242e70815f5f20131 | |
parent | a1a881bde53bc5eddcd7be4c52a9ce8053ca9c53 (diff) |
begin work on recursive mode. isn't recursive yet, but does list directories.
-rwxr-xr-x | bin/dthumb | 13 | ||||
-rwxr-xr-x | lib/App/Dthumb.pm | 34 |
2 files changed, 33 insertions, 14 deletions
@@ -27,6 +27,7 @@ GetOptions( no-names|n quality|q=i recreate|r + recursive|R size|d=i spacing|s=f title|t=s @@ -46,16 +47,16 @@ if ( $opt->{help} ) { die("Please see 'perldoc -F $0' or 'man dthumb'\n"); } -$dthumb->read_directories(); -$dthumb->create_files(); -$dthumb->delete_old_thumbnails(); +$dthumb->read_directories; +$dthumb->create_files; +$dthumb->delete_old_thumbnails; $timer->attr( min => 1, - max => scalar $dthumb->get_files(), + max => scalar $dthumb->get_files, ); -for my $file ( $dthumb->get_files() ) { +for my $file ( $dthumb->get_files ) { print STDERR $timer->report( "\r\e[KCreating Thumbnails: %p done, %L elapsed, %E remaining", $id++, ); @@ -65,7 +66,7 @@ for my $file ( $dthumb->get_files() ) { } print "\n"; -$dthumb->write_out_html(); +$dthumb->write_out_html; __END__ diff --git a/lib/App/Dthumb.pm b/lib/App/Dthumb.pm index b6024a6..6e4eeaf 100755 --- a/lib/App/Dthumb.pm +++ b/lib/App/Dthumb.pm @@ -53,11 +53,17 @@ sub read_directories { my ( @files, @old_thumbs ); for my $file ( read_dir($imgdir) ) { + if ( $file =~ m{ ^ [.] }x ) { + next; + } if ( -f "${imgdir}/${file}" and $file =~ qr{ [.] (png | jp e? g) $ }iox ) { push( @files, $file ); } + elsif ( $self->{config}{recursive} and -d "${imgdir}/${file}" ) { + push( @files, $file ); + } } if ( -d $thumbdir ) { @@ -120,15 +126,24 @@ sub create_thumbnail_html { $self->{html} .= "<div class=\"image-container\">\n"; - $self->{html} .= sprintf( + if ( -d $file ) { + $self->{html} + .= sprintf( "\t<a class=\"fancybox\" href=\"%s\" title=\"%s\" data-fancybox-group=\"gallery\">\n" - . "\t\t<img src=\"%s/%s\" alt=\"%s\" /></a>\n", - ($file) x 2, - $self->{config}->{dir_thumbs}, - ($file) x 2, - ); + . "\t\t<img src=\".dthumb/folder-blue.png\" alt=\"%s\" /></a>\n", + ($file) x 2, $file, ); + } + else { + $self->{html} .= sprintf( +"\t<a class=\"fancybox\" href=\"%s\" title=\"%s\" data-fancybox-group=\"gallery\">\n" + . "\t\t<img src=\"%s/%s\" alt=\"%s\" /></a>\n", + ($file) x 2, + $self->{config}->{dir_thumbs}, + ($file) x 2, + ); + } - if ( $self->{config}->{names} ) { + if ( $self->{config}->{names} or -d $file ) { $self->{html} .= sprintf( "\t<br />\n" . "\t<a style=\"%s;\" href=\"%s\">%s</a>\n", 'text-decoration: none', @@ -153,9 +168,12 @@ sub create_thumbnail_image { { return; } + if ( -d $file ) { + return; + } my $image = Image::Imlib2->load($file); - my ( $dx, $dy ) = ( $image->width(), $image->height() ); + my ( $dx, $dy ) = ( $image->width, $image->height ); my $thumb = $image; if ( $dx > $thumb_dim or $dy > $thumb_dim ) { |