version 1.18, 2012/08/31 12:33:07
|
version 1.23, 2012/09/11 16:24:46
|
Line 1
|
Line 1
|
#!/bin/sh | #!/home/as/sh |
# |
# |
# THE BEER-WARE LICENSE 2012 |
# THE BEER-WARE LICENSE 2012 |
# <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.22 2012/09/11 15:40:43 as Exp $ |
# |
# |
. $(dirname $0)/libpgallery |
. $(dirname $0)/libpgallery |
|
|
Line 26 ARG_MAILFROM="PGallery <${USER}@${HOST}>"
|
Line 26 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 40 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 62 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 90 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 141 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 155 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 172 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 175 fi
|
Line 184 fi
|
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 207 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 235 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 306 make -f $MKAKEFILE
|
Line 320 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 |