diff options
Diffstat (limited to 'imgconv')
-rwxr-xr-x | imgconv | 262 |
1 files changed, 0 insertions, 262 deletions
diff --git a/imgconv b/imgconv deleted file mode 100755 index 396a786..0000000 --- a/imgconv +++ /dev/null @@ -1,262 +0,0 @@ -#!/bin/bash - -# little script to generate image galleries for use with original. -# uses imagemagick's convert -# (c) 2005 boris de laage <bdelaage@free.fr> -# based on imgconv by Jakub Steiner -# -# The 'help' section sucks, as my english does. - - -#default options -dir=./web-gallery -zip=0 -rotate=0 -mq=0 -hq=0 -interactive=0 -verbose=echo - -#info.txt stuff -gal_auth="" -gal_name="" -gal_desc="" -gal_date="" -gal_user="" -gal_pass="" - -# convert options -convertor=`which convert` -jhead=`which jhead` -extra_ops="-strip" - -# This script -name=`basename $0` - -# getopt stuff -shortopts="a:hHin:d:D:Mqo:Zr" -longopts="author:quiet,help,interactive,name:,date:,description:,\ -mq,hq,output:,archive,rotate" - - - -function echo_help { -cat <<EOF -Usage : $1 [OPTIONS]... [FILE]... -Convert FILEs - - -o, --output DIR make gallery in DIR - -M, --mq include 1024x768 images (MQ) - -H, --hq include original images (HQ) - -Z, --archive make archives - -i, --interactive edit gallery informations interactively - -a, --author NAME set author's name - -n, --name NAME set gallery's name - -d, --date DATE set date to DATE - -D, --description DESC description - -r, --rotate automatically rotate image based on EXIF - -q, --quiet don't say anything - -h, --help display this help and exit - -FILEs must be JPG, JPEG or PNG. if DIR is not given, the -gallery will be created in $dir. - -EOF - -} - -good_file() { - local ftype - - ftype=`file -b "$1" | cut -d " " -f 1` - - if [ "$ftype" == "JPG" ] || [ "$ftype" == "JPEG" ] || [ "$ftype" == "PNG" ] - then - return 0 - else - return 1 - fi - -} - - -# If we don't have ImageMagick, cry & exit -if [ -z $convertor ]; then - echo "convert not found... Please install ImageMagick." - exit 1 -fi - - -# Parse options -TEMP=`getopt -o $shortopts --long $longopts -n $name -- "$@"` -[ $? != 0 ] && exit 1 - -eval set -- "$TEMP" -while true; do - case "$1" in - -h|--help) - echo_help $name ; exit 0 ;; - - -i|--interactive) - interactive=1 ; shift ;; - - -n|--name) - gal_name=$2 ; shift 2 ;; - - -d|--date) - gal_date=$2 ; shift 2 ;; - - -D|--description) - gal_desc=$2 ; shift 2 ;; - - -a|--author) - gal_auth=$2 ; shift 2 ;; - - -o|--output) - dir=$2 ; shift 2 ;; - - -Z|--zip) - zip=1 ; shift ;; - - -r|--rotate) - rotate=1 ; shift ;; - - -q|--quiet) - verbose=false ; shift ;; - - -M|--mq) - mq=1 ; shift ;; - - -H|--hq) - hq=1 ; shift ;; - - --) - shift ; break ;; - - *) - echo "OOops.. getopt error !" ; echo $@ ; exit 1 ;; - esac -done - - - -# If we don't have JHead and we want to auto-rotate images, cry & exit -if [ $rotate -gt 0 ] && [ -z $jhead ]; then - echo "jhead not found... Please install JHead." - exit 1 -fi - - - -# If no input files are given, display usage & exit -if [ $# == 0 ]; then - cat <<EOF -Usage: $name [-hMHZ] [-o directory] file... - $name -o Gallery *.jpg -Try \`$name --help' for more information. -EOF - exit 1 -fi - -# make dirs -mkdir -p $dir/thumbs -mkdir -p $dir/lq -mkdir -p $dir/comments -chmod o+w $dir/comments -[ $mq -gt 0 ] && mkdir -p $dir/mq -[ $hq -gt 0 ] && mkdir -p $dir/hq -[ $zip -gt 0 ] && mkdir -p $dir/zip - -# Protect info.txt, even if we don't make it. -echo "<Files info.txt>" > $dir/.htaccess -echo " deny from all" >> $dir/.htaccess -echo "</Files>" >> $dir/.htaccess - - -$verbose "Generating O.R.I.G.I.N.A.L gallery in $dir" - -files=$(echo $@ | sed 's/ /\n/g' | sort) - -#files=$@ - -i=1 -for imagefile in $files; do - - good_file "$imagefile" - if [ $? != 0 ]; then - $verbose "$imagefile is not a JPG, JPEG or PNG file, skipped" - continue - fi - - $verbose -n "converting $imagefile " - - $verbose -n "." - $convertor -geometry 120x120 -modulate 100,140,100 -unsharp 1x20 \ - -quality 60 $extra_opts "$imagefile" $dir/thumbs/img-$i.jpg - - $verbose -n "." - $convertor -geometry 640x480 -modulate 100,130,100 -unsharp 1x5 \ - -quality 90 "$imagefile" $dir/lq/img-$i.jpg - - if [ $mq -gt 0 ]; then - $verbose -n "." - $convertor -geometry 1024x768 -modulate 100,130,100 -unsharp 1x5 \ - -quality 80 "$imagefile" $dir/mq/img-$i.jpg - fi - - if [ $hq -gt 0 ] ; then - $verbose -n "." - cp "$imagefile" $dir/hq/img-$i.jpg - fi - - # template for comment - echo "<span>Photo $i</span>
" > $dir/comments/$i.txt - - - i=`expr $i + 1` - $verbose " done" -done - -# auto-rotate stuff -if [ $rotate -gt 0 ]; then - $verbose "rotating" - jhead -autorot $dir/thumbs/*.jpg - jhead -autorot $dir/lq/*.jpg - [ $mq ] && jhead -autorot $dir/mq/*.jpg - [ $hq ] && jhead -autorot $dir/hq/*.jpg -fi - -# zip stuff -if [ $zip -gt 0 ]; then - $verbose "archiving" - [ $mq ] && zip -R $dir/zip/mq.zip $dir/mq/*.jpg - [ $hq ] && zip -R $dir/zip/hq.zip $dir/hq/*.jpg -fi - -#info.txt -protect=n -if [ $interactive == 1 ]; then - echo -n "Gallery name [$gal_name]: " - read gal_name - echo -n "Description: " - read gal_desc - echo -n "Author [$gal_auth]: " - read gal_auth - echo -n "Date [$gal_date]: " - read gal_date - echo -n "Resctrict access ? [y/N]: " - read protect - if [ "$protect" == "y" ] || [ "$protect" == "Y" ]; then - echo -n "restricted user [$gal_user]: " - read gal_user - echo -n "restricted password [$gal_pass]: " - read gal_pass - fi -fi - -[ "$gal_name" != "" ] && echo "name|$gal_name" >> $dir/info.txt -[ "$gal_auth" != "" ] && echo "author|$gal_auth" >> $dir/info.txt -[ "$gal_date" != "" ] && echo "date|$gal_date" >> $dir/info.txt -[ "$gal_desc" != "" ] && echo "description|$gal_desc" >> $dir/info.txt -[ "$gal_user" != "" ] && echo "restricted_user|$gal_user" >> $dir/info.txt -[ "$gal_pass" != "" ] && echo "restricted_password|$gal_pass" >> $dir/info.txt |