Files
dotfiles/imagemagick/thumbnails.sh
2021-09-15 08:37:45 +02:00

71 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
function checkImagemagick {
printf "Checking for Imagemagick convert..."
convert -version > /dev/null 2>&1
if [ $? -eq 0 ]; then
printf "[\e[32mOK\e[0m]\n"
return 0
else
printf "[\e[31mError\e[0m]\nImagemagick not found.\n"
return 1
fi
}
function installpkg {
printf "Installing package %s...\n\e[90m" $1
apt install -y $1
if [ $? -eq 0 ]; then
printf "\e[0m[\e[32mOK\e[0m] Package %s successfully installed !\n" $1
return 0
else
printf "\e[0m[\e[31mError\e[0m]\nFailed to install %s\n" $1
return 1
fi
}
# Check for Imagemagick install
checkImagemagick
if [ $? -eq 1 ]; then
installpkg "imagemagick"
checkImagemagick
fi
# Check thumbnails directory
if [ ! -e "thumbs" ]; then
printf "Creating thumbnails directory (thumbs/)..."
mkdir "thumbs" > /dev/null 2>&1
if [ $? -eq 0 ]; then
printf "[\e[32mOK\e[0m]\n"
else
printf "[\e[31mError\e[0m]\nCan't create 'thumbs/' directory ! Check your permissions\n"
exit 1
fi
else
printf "Thumbnails directory found [\e[32mOK\e[0m]\n"
fi
# Generate/update thumbnails for each JPG found
count=$(ls *.* | wc -l)
i=0
for file in *.*; do
if [ ! -e $file ]; then continue; fi # Ignore inexistant files
let i=i+1
printf "Processing file %d of %d [%s]\r" $i $count $file
convert $file -resize x256 -strip thumbs/$file
done
printf "\e[32m✔\e[0m Processed %d thumbnails successfully\n" $count