diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2023-06-19 15:23:09 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2023-07-05 23:39:19 +0200 |
| commit | dd4e2883a8377513793ba47192f8542bb8bdcee0 (patch) | |
| tree | 63d17703fb4404e864622ea79370be36485b188b /tngen | |
| parent | 611c8d82b6e128d720bbedb790109807ffe33f5d (diff) | |
| download | slcl-thumbnail-entr-make.tar.gz | |
Rely on make(1)thumbnail-entr-make
Diffstat (limited to 'tngen')
| -rwxr-xr-x | tngen | 109 |
1 files changed, 58 insertions, 51 deletions
@@ -4,73 +4,80 @@ set -e usage() { - echo "$0 [-s <size>] [-h] -d <dir> <path>" + echo "$0 [-s <size>] [-j <jobs>] [-h] -d <root> <path>" } SIZE=96 -while getopts s:d:h arg +while getopts d:j:s:h arg do - case $arg in - d) DIR="$OPTARG" - ;; - s) SIZE="$OPTARG" - ;; - h) usage - exit 0 - ;; - ?) usage >&2 - exit 1 - ;; - esac + case $arg in + d) ROOT="$OPTARG" + ;; + j) JOBS="$OPTARG" + ;; + s) SIZE="$OPTARG" + ;; + h) usage + exit 0 + ;; + ?) usage >&2 + exit 1 + ;; + esac done -if [ -z "$DIR" ] -then - usage >&2 - exit 1 +if [ -z "$ROOT" ]; then + usage >&2 + exit 1 fi shift $(($OPTIND - 1)) if [ $# != 1 ]; then - usage >&2 - exit 1 + usage >&2 + exit 1 fi -F="$1" +DIR="$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 + 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 +} + +scan() +{ + while read d + do + if [ -n "$d" ] + then + scan "$d" + fi + + "$(dirname "$0")"/mkgen -d "$ROOT" "$1" + done <<-EOF + $(eval find \"$1\"/* -prune -type d || return 0) + EOF } -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 +echo Generating Makefiles... +scan "$DIR" + +cd "$ROOT/thumbnails" && make ${JOBS:+-j$JOBS} |
