telegram_stickerizer/stickerizer.sh

58 lines
1.3 KiB
Bash

#!/bin/bash
#usage: run from inside picture directory, specify absolute path to destination directory
PICDIR=$1
DESTDIR=$2
if [ ! -d $PICDIR ] || [ $# -lt 1 ] ; then
echo "Provide a picture directory as the argument."
exit 64
fi
echo "The last character of the picture directory is " + ${PICDIR: -1}
if [ "${PICDIR: -1}" != "/" ] ; then
#Make sure to not confuse any little ubuntu babbies
echo "Appending backslash to dirname"
PICDIR=${PICDIR}/
fi
if [ ! -d $DESTDIR ] || [ $# -lt 2 ] ; then
echo "provide a destination directory"
exit 64
fi
for FILE in $(find "$PICDIR")
do
EXT=${FILE##*\.}
case "$EXT" in
jpg) echo "$FILE : Ready to convert"
;;
gif) echo "$FILE : Ready to convert"
;;
png) echo "$FILE : Already png, ready to resize"
;;
esac
done
echo 'Confirm the above files should be converted to .png and resized (y/n)'
read CONFIRM
if [[ $CONFIRM =~ [yY] ]]; then
echo "Confirmed."
echo "Converting files...."
for FILE in $(find "$PICDIR")
do
EXT=${FILE##*\.}
case "$EXT" in
jpg) convert $FILE -resize 512x512 $(echo $FILE | sed s/.jpg/\_stickerized.png/)
;;
gif) convert $FILE -resize 512x512 $(echo $FILE | sed s/.gif/\_stickerized.png/)
;;
png) convert $FILE -resize 512x512 $(echo $FILE | sed s/.png/\_stickerized.png/)
;;
esac
done
mv ${PICDIR}*_stickerized.png $DESTDIR
else
echo "Aborted."
fi