#!/bin/bash
#
# rename-photos: rename JPEG photos as exported from digital cameras
# by date (e.g. 2002/04/02/11-42-22.jpg)
#
# usage: rename-photos *.JPG
#
# if environment variable W is defined, uses that as base dir;
# otherwise, uses current dir.
#
# Gerald Oskoboiny, 11 June 2003
#
# $Id: rename-photos,v 1.3 2008/08/14 05:30:13 gerald Exp $
#

temp=/tmp/rename-photos.$$

if [ -z $W ]; then
    target=.
else
    target=$W
fi

# rename multiples to my preferred format (hh-mm-ss-n.jpg)
epinfo -rf $target/%Y/%m/%d/%H-%M-%S.jpg $@ | \
    tee $temp | \
    grep ^rename | \
    grep '\.[0-9][0-9][0-9]$' | \
    sed 's/.* -> //' | \
    sed 's/.\(...\)$/ \1/' | \
  while read f n ; do
    mv -i $f.$n $(echo $f | sed "s/\.jpg/-$(echo $n | sed 's/^0*//').jpg/")
    if [ -f $f ]; then
	mv -i $f $(echo $f | sed 's/\.jpg/-0.jpg/')
    fi
done

#
# changelog:
#
# $Log: rename-photos,v $
# Revision 1.3  2008/08/14 05:30:13  gerald
# name multiple frames per second *-0.jpg *-1.jpg so they sort better;
# keep a copy of the temp file around so we can see what went where
#
# Revision 1.2  2008-04-21 01:57:03  gerald
# better handling of multiple photos taken in the same second;
# this rev was dated Apr 6 15:51
#
#
#

