#!/bin/sh
################################################################################
# Projet    : PMWS
# Programme : maxwidth.sh
# Création  : 12.09.2007
# Révision  : 28.08.2008
# Objet     : Réduction des images dont la largeur dépasse le maximum indiqué
################################################################################
# rm -rf /mnt/backup/client/galeriebesuch/galeriebesuch-2007-09-12-pmws/client/galeriebesuch/image-maxwidth && /home/fric/src/prg/php4/pmws/devel/tool/maxwidth.sh /mnt/backup/client/galeriebesuch/galeriebesuch-2007-09-12-pmws/client/galeriebesuch/image/ 600

# TODO: réduire également dans le cas où la hauteur de l'image

# Configuration ################################################################
  IMGSIZE=/usr/bin/imgsize

# Vérification des paramètres ##################################################
  if [ $# -ne 2 ] ; then
    echo "Deux paramètres au plus et au moins"

    exit 1
  fi

  src=`echo $1|sed "s?/*\\$??g"`
  max=$2

  if [ ! -d $src ] ; then
    echo "$src n'existe pas ou n'est pas un répertoire.";
  fi

# Répertoire cible #############################################################
  dst=$src-maxwidth

  echo "Répertoire source : $src"
  echo "Répertoire cible  : $dst"
  echo

  if [ -e $dst ] ; then
    echo "$dst existe déjà, pour le supprimer :"
    echo "rm -rf $dst"

    exit 1
  fi

  mkdir $dst

  if [ -d $dst ] ; then
    echo "Le répertoire $dst a été correctement créé."
  else
    echo "Impossible de créer le répertoire $dst";

    exit 1
  fi

################################################################################
  for fn_src in `find $src -type f` ; do
    w=`$IMGSIZE -f %d $fn_src`

    if [ $w -gt $max ] ; then
      fn_dst=`echo $fn_src | sed "s?$src?$dst?g"`
      dn=`dirname $fn_dst`

      echo $w
      echo $fn_src
      echo $fn_dst
      echo $dn
      echo

      mkdirhier $dn

      convert -geometry ${max}x $fn_src $fn_dst
    fi
  done

# vim:encoding=utf-8
# vim:guifont=Courier\ 9
