webnomad/convert

76 lines
2.0 KiB
Bash
Executable File

#!/usr/bin/env zsh
#
# Jaro Web, your slick and static website publisher
#
# Copyleft (C) 2012-2013 Denis Roio <jaromil@dyne.org>
#
# This source code is free software; you can redistribute it and/or
# modify it under the terms of the GNU Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This source code is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# Please refer to the GNU Public License for more details.
#
# You should have received a copy of the GNU Public License along with
# this source code; if not, write to:
# Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
DIR=`dirname $0`
CMD=`basename $0`
{ test -r $DIR } || {
echo "error: launch webnomad commands from your project directory"
echo "i.e: ./$DIR/$CMD"
return 1
}
source ${DIR}/utils
DEBUG=1
{ test "$3" = "" } && {
error "usage: $0 [destination dir] [images dir] [commands]";
act "commands are imagemagick's convert commands"
return 1 }
dst="$1"; shift 1
src="$1"; shift 1
act "source: $src"
act "destination: $dst"
act "convert args: ${@}"
images=()
images+=(`find $src -iname '*.jpg'`)
images+=(`find $src -iname '*.jpeg'`)
act "images found in source: ${#images}"
results=()
for i in $images; do
destfile=`basename $i`
# escape all weird characters in filenames
destfile_sane=`print $destfile | sed -e "s@'@@g"`
func "convert $i ${@} $dst/$destfile_sane (was $destfile)"
act -n "convert $destfile_sane ... "
convert $i ${@} $dst/$destfile_sane
if [ $? = 0 ]; then
results+=($dst/$destfile_sane)
print " done"
else print " error!"; fi
# clean from exif info
# exif --remove $dst/$destfile.resized.jpg -o $dst/$destfile
done
act "rotating images according to exif orientation"
exiftran -a -i ${=results}
act "done."