#!/bin/bash
#
# sdup --- Lukee tiedostot kameran kortilta ja siirtää vain uudet tiedostot  
#
# v1.0 Ensiversio
# v1.1 Etsii paremmin DCIM kansiota funktion "etsi_dcim" avulla
#
########################################################################

oletuskansio=~/Kuvat/Valokuvat/Kamerasta
punainen=\\e[91m
tavallinen=\\e[39m

etsi_dcim()
# Palauttaa muuttujassa "result" DCIM polun
# Etsii allaolevista polkulistan paikoista
{
polkulista=(/media/$USER/*/DCIM /run/media/$USER/*/DCIM)
unset result
for paikka in ${polkulista[*]}; do
	result=$(find $paikka -prune 2>/dev/null) 
	if [ "$?" = "0" ]; then
	return 0
	fi
done
return 1
}

# Main #################################################################

if  ! etsi_dcim; then
echo "Muistikorttia ei löytynyt, laita kameran muistikortti ensin lukijaan."; exit 1
fi
if [ -z "$1" ]; then
	echo "Kohdekansiota ei annettu, käytetään kohteena $oletuskansio"
	kohdekansio=$oletuskansio
else
	kohdekansio="$1"
fi
echo -n "Kopioidaan uudet kuvat $result/* -> $kohdekansio, K/E ? "
until [ -n "$vastaus" ]; do
	read -n1 -s vastaus
done
echo
vastaus=${vastaus^^}  # Voi vastata isolla tai pienellä K-kirjaimella
[[ ! "$vastaus" = "K" ]] && exit 1
mkdir -p $kohdekansio
touch $kohdekansio/00000000 &>/dev/null  # Testataan että on kirjoitusoikeus
if [ "$?" = 0 ]; then rm $kohdekansio/00000000; else echo -e $punainen"Virhe: Ei kirjoitusoikeutta kansioon $kohdekansio"$tavallinen; exit 1; fi
rsync -av --stats $result/* $kohdekansio
