slcl/tngen

77 lines
1.0 KiB
Bash
Executable File

#! /bin/sh
set -e
usage()
{
echo "$0 [-s <size>] [-h] -d <dir> <path>"
}
SIZE=96
while getopts s:d:h arg
do
case $arg in
d) DIR="$OPTARG"
;;
s) SIZE="$OPTARG"
;;
h) usage
exit 0
;;
?) usage >&2
exit 1
;;
esac
done
if [ -z "$DIR" ]
then
usage >&2
exit 1
fi
shift $(($OPTIND - 1))
if [ $# != 1 ]; then
usage >&2
exit 1
fi
F="$1"
gen()
{
IN="$1"
OUT="$2"
if [ -z "$OUT" ]
then
echo Expected output filename >&2
return 1
fi
mkdir -p "$(dirname "$OUT")"
if convert -thumbnail x$SIZE "$IN" "$OUT"
then
echo Created $OUT
else
echo Failed to create $OUT >&2
fi
}
while read f; do
if [ "$f" != "" ]
then
THUMBNAIL=$(echo "$f" | sed "s,$DIR/user/,$DIR/thumbnails/,")
gen "$f" "$THUMBNAIL"
fi
done <<-EOF
$(find "$F" -type f \
-a -iname '*.jpeg' \
-o -iname '*.jpg' \
-o -iname '*.png' \
-o -iname '*.jpeg')
EOF