ansitest/OSX/webp2png-photos.sh
2024-12-13 14:09:38 -07:00

69 lines
1.8 KiB
Bash

#!/bin/bash
# 2024.Sep kneutron
# REQUIRES ncurses-bin webp detox (macports / brew)
# NOTE can still convert BAD images using rt-click, Quick Actions, Convert image in Finder!
stime=$(date)
#[ $(which dwebp |wc -l) -gt 0 ] && sudo apt-get install -y webp
#[ $(which detox |wc -l) -gt 0 ] && sudo apt-get install -y detox
# need to cd source 1st
outdir=$HOME/tmpdel-photos/webp2png
mkdir -pv "$outdir"
mkdir -pv $HOME/tmpdel-photos/BAD
cd ~/tmpdel-photos/ || exit 99;
pwd
detox -v $PWD
find ~/tmpdel-photos/ -iname \*'(1)'\* -print -delete
# print blank lines
clear
#for L in 1 2 3 4 5; do echo ""; done
#origpos=$(tput sc) # save current cursor pos, 5 lines down
skip=0
done=0
for f in *.webp; do
if [ -e "$outdir/$f.png" ]; then
((skip++))
# tput cuu 2 # up 2 lines
# tput home
# Only every 5! speedup - check modulo
# REF: https://unix.stackexchange.com/questions/423389/compare-bash-variable-to-see-if-divisible-by-5
remainder=$(( skip % 5 ))
if [ "$remainder" -eq 0 ]; then
tput home
echo -n "SKIP = $skip"
tput el # erase to EOL
# echo -n "SKIP $f = $skip"; tput el # erase to EOL
echo ""; tput el; tput rc
fi
else
tput home
tput cud 1 # down 1 line to not overwrite skip
echo -n "Processing $f = $((++done))"; tput el
time dwebp "$f" -o "$outdir/$f.png" 2>>~/webp2png-err.log || ( mv -v $f BAD/; ((done--)) ) # subtract if processing failed
tput el #; tput rc
fi
done
# dwebp -mt # may be buggy code
tput home
echo -n "TOTAL SKIP = $skip"
tput el # erase to EOL
ls -alrth "$outdir" |tail
echo "BEGIN = $stime -- $(date) -- DONE= $done / Skip= $skip"
#rsync-tmpdel-to-xrdp.sh
exit;
# REF: https://stackoverflow.com/questions/55161334/convert-webp-images-to-png-by-linux-command
# REF: https://linuxcommand.org/lc3_adv_tput.php