X-Git-Url: http://git.scottworley.com/picsort/blobdiff_plain/7e0b085a9d4119886d17e66f57008e32d071cd5a..HEAD:/pics-preprocess?ds=sidebyside diff --git a/pics-preprocess b/pics-preprocess index 8b8dcb4..9d0b42f 100755 --- a/pics-preprocess +++ b/pics-preprocess @@ -1,28 +1,43 @@ -#!/bin/bash +#!/usr/bin/env bash # Pass .NEF and .jpeg files as $@. # This makes many variants of each .NEF file at different exposure levels # and makes reduced-size versions for faster browsing. +MINFREESPACE=$((10 * 1024 * 1024)) # 10GiB in KiB + SMALLHEIGHT=700 +renice -n 19 $$ +ionice -c 3 -p $$ for f;do + if (( "$(df -k . | awk 'NR == 2 { print $4 }')" < $MINFREESPACE ));then + echo "Out of disk space" + break + fi if [[ "$f" == *.NEF ]];then for level in {10..30};do mkdir -p {,sm/}"$level" base="$(basename "$f")" out="$level/${base%.NEF}.jpeg" - exposure=$(dc <<< "2k $level 4 / 3.5-p") # 10 to 30 -> -1 to 4 in .25 steps - if [[ ! -s "$out" ]];then + if [[ -s "$out" ]];then + echo "Skipping $out" + else + exposure=$(dc <<< "2k $level 4 / 3.5-p") # 10 to 30 -> -1 to 4 in .25 steps pics-run-ufraw "$exposure" "$f" "$out" fi - if [[ ! -s "sm/$out" ]];then + if [[ -s "sm/$out" ]];then + echo "Skipping sm/$out" + else convert "$out" -geometry "x$SMALLHEIGHT" "sm/$out" fi done else - if [[ ! -s "sm/$f" ]];then + if [[ -s "sm/$f" ]];then + echo "Skipping sm/$f" + else + mkdir -p sm convert "$f" -geometry "x$SMALLHEIGHT" "sm/$f" fi fi