Diff for /scripts/pgallery/src/pgallery.sh between versions 1.18 and 1.27

version 1.18, 2012/08/31 12:33:07 version 1.27, 2013/04/03 08:14:52
Line 1 Line 1
#!/bin/sh#!/usr/local/libexec/pgallerysh
 #  #
# THE BEER-WARE LICENSE 2012# THE BEER-WARE LICENSE 2012,13
 #
 # <as@paefchen.net> wrote this file. As long as you retain this notice you  # <as@paefchen.net> wrote this file. As long as you retain this notice you
 # can do whatever you want with this stuff. If we meet some day, and you think  # can do whatever you want with this stuff. If we meet some day, and you think
 # this stuff is worth it, you can buy me a beer in return Aron Schlesinger  # this stuff is worth it, you can buy me a beer in return Aron Schlesinger
 #  #
# $Paefchen: scripts/pgallery/src/pgallery.sh,v 1.17 2012/08/29 14:44:04 as Exp $# $Paefchen: scripts/pgallery/src/pgallery.sh,v 1.26 2013/04/03 08:06:44 as Exp $
 #  #
 . $(dirname $0)/libpgallery  
   
   . /usr/local/libexec/libpgallery
   
 ARG_TITLE="PGallery"  ARG_TITLE="PGallery"
 ARG_FILES=  ARG_FILES=
 ARG_FILETYPES="jpg jpeg png gif tif tiff"  ARG_FILETYPES="jpg jpeg png gif tif tiff"
Line 26  ARG_MAILFROM="PGallery <${USER}@${HOST}>" Line 28  ARG_MAILFROM="PGallery <${USER}@${HOST}>"
 ARG_URL=  ARG_URL=
 ARG_EXIF="0x920a 0x829d 0x829a ISO 0x8827 / 0x010f - 0x0110"  ARG_EXIF="0x920a 0x829d 0x829a ISO 0x8827 / 0x010f - 0x0110"
 ARG_INDEXIMG=  ARG_INDEXIMG=
   ARG_STARTTS=
   ARG_ENDTS=
   ARG_LINK=
   ARG_NAVI=0
   
 MKAKEFILE=".htmakefile"  MKAKEFILE=".htmakefile"
   
Line 36  usage() Line 42  usage()
 {  {
         cat <<USAGE          cat <<USAGE
 usage $0: ( [-f <files>] | [-s <suffix>] ) [-d <dir>] [-n <name>]  usage $0: ( [-f <files>] | [-s <suffix>] ) [-d <dir>] [-n <name>]
                [-t <thumbnail_size>] [-u <thumbnail_quality>]                [-t <thumbnail_size>] [-u <thumbnail_quality>] [-H <link>]
                 [-b <big_size>] [-c <big_quality>] [-l link] [-e <exif>]                  [-b <big_size>] [-c <big_quality>] [-l link] [-e <exif>]
                 [-i <index>] [-C <copyright>] [-F <mailfrom>] [-T <mailto>]                  [-i <index>] [-C <copyright>] [-F <mailfrom>] [-T <mailto>]
                [-U] | -h | -v                [-U] [-w] | -h | -v
 Options:  Options:
   -b size       size from big images in pixel (default: $ARG_BIGSIZE)    -b size       size from big images in pixel (default: $ARG_BIGSIZE)
   -c quality    quality from big images 0-100% (default: $ARG_BIGQALITY)    -c quality    quality from big images 0-100% (default: $ARG_BIGQALITY)
Line 58  Options: Line 64  Options:
   -t size       size from thumbnail images in pixel (default: $ARG_TNSIZE)    -t size       size from thumbnail images in pixel (default: $ARG_TNSIZE)
   -u quality    quality from thumbnail images 0-100% (default: $ARG_BIGQALITY)    -u quality    quality from thumbnail images 0-100% (default: $ARG_BIGQALITY)
   -v            print version    -v            print version
     -w            enable navi width link in the overview
   -C copyright  copyright (html) string (default: $ARG_COPYRIGHT)    -C copyright  copyright (html) string (default: $ARG_COPYRIGHT)
   -F from       mail sender (default: $ARG_MAILFROM)    -F from       mail sender (default: $ARG_MAILFROM)
     -L link       optional home link
   -I file       info text file for pgallery. info file paras prefered.    -I file       info text file for pgallery. info file paras prefered.
                 the syntax of the file is MAKE(1)                  the syntax of the file is MAKE(1)
                 supported variable: TITLE COPYRIGHT INDEX FILETYPES TNSIZE URL                  supported variable: TITLE COPYRIGHT INDEX FILETYPES TNSIZE URL
                                     TNQALITY BIGSIZE BIGQALITY MAILTO MAILFROM                                      TNQALITY BIGSIZE BIGQALITY MAILTO MAILFROM
                                    EXIF INDEXIMG                                    EXIF INDEXIMG LINK NAVI
   -T mailto     send update infos to this address. if not set, no mail delivery    -T mailto     send update infos to this address. if not set, no mail delivery
   -U            no update, new calculation of all images.    -U            no update, new calculation of all images.
                 normally only new and modified images will calculated                  normally only new and modified images will calculated
Line 84  do Line 92  do
         test $arg = -d && is_dir=1          test $arg = -d && is_dir=1
 done  done
   
 echo $ARG_DIR  
   
 # load save args  # load save args
 if [ -f "$ARG_DIR/$ARGFILE" ]  if [ -f "$ARG_DIR/$ARGFILE" ]
 then  then
Line 137  do Line 143  do
                 -F)                  -F)
                         ARG_MAILFROM=$1                          ARG_MAILFROM=$1
                         shift;;                          shift;;
                   -L)
                           ARG_LINK=$1
                           shift;;
                 -I)                  -I)
                         ARG_INFOFILE=$1                          ARG_INFOFILE=$1
                         shift;;                          shift;;
Line 148  do Line 157  do
                 -v)                  -v)
                         echo $VERSION                          echo $VERSION
                         exit;;                          exit;;
                   -w)
                           ARG_NAVI=1;;
                 *)                  *)
                         echo "unknown argument $arg"                          echo "unknown argument $arg"
                         exit                          exit
Line 163  if [ "$ARG_INFOFILE" != "" ] Line 174  if [ "$ARG_INFOFILE" != "" ]
 then  then
         test -f $ARG_INFOFILE || err "info file not found \`\`$ARG_INFOFILE''"          test -f $ARG_INFOFILE || err "info file not found \`\`$ARG_INFOFILE''"
         for n in TITLE COPYRIGHT INDEX FILETYPES TNSIZE TNQALITY BIGSIZE \          for n in TITLE COPYRIGHT INDEX FILETYPES TNSIZE TNQALITY BIGSIZE \
                BIGQALITY MAILTO MAILFROM URL EXIF INDEXIMG                BIGQALITY MAILTO MAILFROM URL EXIF INDEXIMG LINK NAVI
         do          do
                 v=$(make -f $ARG_INFOFILE -V$n)                  v=$(make -f $ARG_INFOFILE -V$n)
                 test "$v" = "" && continue                  test "$v" = "" && continue
Line 171  then Line 182  then
         done              done    
 fi  fi
   
#paras from iso to utf-8# paras from iso to utf-8
 for n in $(set | awk -F= '{print $1}')  for n in $(set | awk -F= '{print $1}')
 do  do
         echo "$n" | grep -q '^ARG_' || continue          echo "$n" | grep -q '^ARG_' || continue
        eval "$n=\"\$(echo \"\$$n\" | iconv -f ISO-8859-1 -t UTF-8)\""        eval "$n=\"\$(echo \"\$$n\" | $BIN_ICONV -f ISO-8859-1 -t UTF-8)\""
 done  done
   
 # fix url  # fix url
Line 198  else Line 209  else
         FLIST="$ARG_FILES"          FLIST="$ARG_FILES"
 fi  fi
   
# Filter big and thumbnails# Filter big, thumbnails and curipted images
 echo -n "find images"  echo -n "find images"
 FLISTF=  FLISTF=
 for file in $FLIST  for file in $FLIST
 do  do
         test $(echo $file | grep -E '\.(tn|big)\.jpg$') && continue          test $(echo $file | grep -E '\.(tn|big)\.jpg$') && continue
           test $($BIN_JPEGINFO $file | grep -Eq 'WARNING|ERROR') && continue
         FLISTF="$FLISTF $file"          FLISTF="$FLISTF $file"
         echo -n " $file"          echo -n " $file"
 done  done
Line 225  FLIST=$( Line 237  FLIST=$(
 # if no master image, we use the first one  # if no master image, we use the first one
 test "$ARG_INDEXIMG" = "" && ARG_INDEXIMG=$(echo $FLIST | awk '{print $1}')  test "$ARG_INDEXIMG" = "" && ARG_INDEXIMG=$(echo $FLIST | awk '{print $1}')
   
   # find start and end ts
   ARG_STARTTS=$(get_exif_ts $(echo $FLIST | awk '{print $1}'))
   ARG_ENDTS=$(get_exif_ts $(echo $FLIST | awk '{print $NF}'))
   
 # find new and to update images  # find new and to update images
 FLIST_NEW=  FLIST_NEW=
 FLIST_UPDATE=  FLIST_UPDATE=
Line 257  echo "save settings" Line 273  echo "save settings"
 set | while read n  set | while read n
 do  do
         echo "$n" | grep -q '^ARG_' || continue          echo "$n" | grep -q '^ARG_' || continue
           echo "$n" | grep -q '^ARG_UPDATE' && continue
         echo "$n" >> $ARGFILE          echo "$n" >> $ARGFILE
 done  done
   
Line 306  make -f $MKAKEFILE Line 323  make -f $MKAKEFILE
 rm $MKAKEFILE  rm $MKAKEFILE
   
 # create html index  # create html index
 index=""  
 for file in $FLIST  
 do  
         tn="${file}.tn.jpg"  
         imglink="${file}.html"  
         index="$index $(html_tn $tn $imglink)"  
 done  
 echo create html index  echo create html index
 (  (
         html_header          html_header
        echo $index
         startdate=
         test $ARG_STARTTS -ne -1 && startdate=$(date -r $ARG_STARTTS "+%d.%m.%Y")
         enddate=
         test $ARG_ENDTS -ne -1 && enddate=$(date -r $ARG_ENDTS "+%d.%m.%Y")
         date=
         test "$startdate" != "" && date="$startdate"
         test "$enddate" != "$startdate" && date="$date - $enddate"
         link=
         test "$ARG_LINK" != "" && link="<a href='$ARG_LINK'>overview</a>"
         html_title "$ARG_TITLE" "$link" "$date"
 
         for file in $FLIST
         do
                 tn="${file}.tn.jpg"
                 imglink="${file}.html"
                 html_tn $tn $imglink
         done
         echo "<div class='clear'></div>"          echo "<div class='clear'></div>"
         echo "<div class='c'>$ARG_TITLE $ARG_COPYRIGHT</div>"          echo "<div class='c'>$ARG_TITLE $ARG_COPYRIGHT</div>"
         html_footer          html_footer

Removed from v.1.18  
changed lines
  Added in v.1.27