aboutsummaryrefslogtreecommitdiff
path: root/tngen
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-06-19 15:23:09 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-07-05 23:39:19 +0200
commitdd4e2883a8377513793ba47192f8542bb8bdcee0 (patch)
tree63d17703fb4404e864622ea79370be36485b188b /tngen
parent611c8d82b6e128d720bbedb790109807ffe33f5d (diff)
downloadslcl-thumbnail-entr-make.tar.gz
Rely on make(1)thumbnail-entr-make
Diffstat (limited to 'tngen')
-rwxr-xr-xtngen109
1 files changed, 58 insertions, 51 deletions
diff --git a/tngen b/tngen
index 6b871de..086a0b3 100755
--- a/tngen
+++ b/tngen
@@ -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}