> Indeed.. This part just duplicates a lot of logic..
>
> umask 007
> for file in $WORKDIR/$INPUT/*; do
>  if [ -f $filename -a -z "`lsof $filename 2>/dev/null`" ]; then
>
>    echo $file | grep -qi 'crw$';
>    if [ $? -gt 0 ]; then
>      mv $noimage $WORKDIR/$NOIMAGE/`basename $noimage`
>
>    else
>      fn=`basename $filename`
>      dcraw -e -c $filename > $WORKDIR/$JPEGOUT/${fn}.jpg
>      chgrp users $WORKDIR/$JPEGOUT/${fn}.jpg
>      mv $filename $WORKDIR/$RAWOUT/$fn
>    fi
>  fi
> done
>
> oh, btw.. to protect against launching multiple instances;
>
> if [ -f /var/lock/subsys/dcraw ]; then
>  echo 'Lock-file found!'
>  exit 1
> fi
> touch /var/lock/subsys/dcraw
> ....
> rm /var/lock/subsys/dcraw
>
> .. I would run such a script from cron rather than a backgrounded
> process looping..

Ok, that's better. Result:

#! /bin/bash

# Extract the jpeg preview from Canon digital EOS RAW data.
# Requires dcraw from Dave Coffin: http://www.cybercom.net/%7Edcoffin/dcraw/
# Thanks to Morten (umask is handy)

# Settings
WORKDIR=/data/samba-atalk/Users/RAW
INPUT=input
RAWOUT=raw
JPEGOUT=jpeg
NOIMAGE=noimage

umask 007

if [ ! -d $WORKDIR ] ; then
    echo "Workdir: $WORKDIR not found"
    exit 0
fi

if [ -f /var/lock/subsys/x-rawconvert ]; then
    echo 'Lock-file found!'
    exit 1
fi

touch /var/lock/subsys/x-rawconvert

for i in $INPUT $RAWOUT $JPEGOUT $NOIMAGE; do
    if [ ! -d $WORKDIR/$i ] ; then
        mkdir $WORKDIR/$i
        chown root:users $WORKDIR/$i
    fi
done

if [ -n "`ls $WORKDIR/$INPUT/`" ]; then
    for file in $WORKDIR/$INPUT/*; do
        if [ -f $file -a -z "`lsof $file 2>/dev/null`" ]; then
            echo $file | grep -qi 'crw$';
            if [ $? -gt 0 ]; then
                mv $file $WORKDIR/$NOIMAGE/`basename $file`
            else
                fn=`basename $file`
                dcraw -e -c $file > $WORKDIR/$JPEGOUT/${fn}.jpg
                chgrp users $WORKDIR/$JPEGOUT/${fn}.jpg
                mv $file $WORKDIR/$RAWOUT/$fn
            fi
        fi
    done
fi

rm /var/lock/subsys/x-rawconvert


--
Ariën Huisken


_______________________________________________
tsl-discuss mailing list
[email protected]
http://lists.trustix.org/mailman/listinfo/tsl-discuss

Reply via email to