76 lines
3.9 KiB
Plaintext
76 lines
3.9 KiB
Plaintext
|
$OpenBSD: patch-igal2,v 1.1.1.1 2012/04/24 11:40:38 jasper Exp $
|
||
|
--- igal2.orig Sun Nov 16 22:00:00 2008
|
||
|
+++ igal2 Tue Apr 24 13:00:12 2012
|
||
|
@@ -33,6 +33,12 @@ $HAVEIM = 0;
|
||
|
#
|
||
|
$HAVELJ = 0;
|
||
|
############################################################################
|
||
|
+# If you KNOW you have Jhead installed then setting this equal to 1 may speed
|
||
|
+# up the code a bit (igal will stop checking for these commands every time it
|
||
|
+# runs)
|
||
|
+#
|
||
|
+$HAVEJH = 0;
|
||
|
+############################################################################
|
||
|
|
||
|
# This is IGAL version 2.0, an online Image GALlery generator.
|
||
|
# Copyright (C) 2000 Eric Pop, 2003 Wolfgang Trexler
|
||
|
@@ -85,6 +91,7 @@ $opt_d = "."; # look in current directory "."
|
||
|
$opt_f = "0"; # -f to force thumbnail regeneration
|
||
|
$opt_h = "0";
|
||
|
$opt_i = "index.html"; # name of the main thumbnail index file
|
||
|
+$opt_j = "0"; # -j uses jhead to extract EXIF metadata
|
||
|
$opt_k = "0"; # -k for the captions to also be used as slide titles
|
||
|
$opt_m = ""; # -m Apply a watermark to each image
|
||
|
$opt_n = "0"; # -n to use image file names for the .html files
|
||
|
@@ -118,6 +125,7 @@ Options: -a write image sizes under thum
|
||
|
-f force thumbnail regeneration
|
||
|
-h displays this brief help; same as --help
|
||
|
-i <file> name of the main thumbnail index file (index.html)
|
||
|
+ -j add EXIF metadata to the slide pages
|
||
|
-k use the image captions for the HTML slide titles
|
||
|
-m <file> Automatically add watermark to each image
|
||
|
-n use image file names for the HTML slide files
|
||
|
@@ -173,7 +181,7 @@ END_OF_USAGE
|
||
|
@igal_options = @ARGV;
|
||
|
|
||
|
# process command-line arguments (overriding defaults above)
|
||
|
-GetOptions('a','c','C','d=s','f','h','i=s','k','m=s','n','o=s',
|
||
|
+GetOptions('a','c','C','d=s','f','h','i=s','j','k','m=s','n','o=s',
|
||
|
'p=i','r','s','t=i','u','w=i','x','y=i','ad','as',
|
||
|
'bigy=i', 'con=s','help','im','www','xy=i', 'dest=s',
|
||
|
'AddSubdir', 'pagination=s') or die "$usage";
|
||
|
@@ -198,7 +206,7 @@ $opt_o = "$opt_o/" if ( $opt_o );
|
||
|
$opt_d =~ s/\/$//;
|
||
|
|
||
|
# let users store their templates in a $HOME/.igal directory, if it exists,
|
||
|
-# instead of the site-wide /usr/local/lib/igal (from line 8 up top)
|
||
|
+# instead of the site-wide /usr/local/share/igal (from line 8 up top)
|
||
|
$LIBDIR = $userigaldir if ((-r $userigaldir) && (-d $userigaldir));
|
||
|
|
||
|
# load up image files from $opt_d into array @imgfiles
|
||
|
@@ -319,6 +327,10 @@ print "\nWARNING: The ImageMagick package (imagemagic
|
||
|
$HAVELJ = (&exist("cjpeg") and &exist("djpeg") &exist("pnmscale")) unless ($HAVELJ or ($njpg == 0) or $HAVEIM);
|
||
|
print "\nWARNING: at least one of the commands \"cjpeg\", \"djpeg\" and \"pnmscale\" is not\ninstalled. You can find these at rpmfind.net (inside libjpeg and libgr-progs)\nor you can download the source code from:\n http://www.ijg.org/ and\n http://netpbm.sourceforge.net/\n\n" unless ($HAVELJ or ($njpg == 0) or $HAVEIM);
|
||
|
|
||
|
+# find out if the jhead exists
|
||
|
+$HAVEJH = (&exist("jhead")) unless ($HAVEJH);
|
||
|
+print "\nWARNING: The Jhead package is not installed; without it you won't get information about the camera used to take the photo.\n" unless ($HAVEJH);
|
||
|
+
|
||
|
# give up if no image processing commands can be found
|
||
|
die "ERROR: the necessary image processing tools aren't installed on your system.\nPlease obtain them as specified above.\n\n" unless ($HAVEIM or $HAVELJ);
|
||
|
|
||
|
@@ -535,7 +547,12 @@ if ($opt_s) {
|
||
|
$workarea =~ s/<!--THIS-IMAGE-->/$destback$imgfile_i_encoded/g;
|
||
|
}
|
||
|
}
|
||
|
-
|
||
|
+ # exif metadata
|
||
|
+ if ($opt_j && $HAVEJH) {
|
||
|
+ local $f = $imgfiles[$i];
|
||
|
+ local $exif = `jhead "$f" | egrep -v '^File|Camera make' | grep : | sed 's/\$/<br>/'`;
|
||
|
+ $workarea =~ s/<!--IMAGE-EXIF-->/$exif/;
|
||
|
+ }
|
||
|
# add in the image counter unless -x is specified
|
||
|
if ($opt_x) {
|
||
|
$imagecaption = $captions[$i];
|