diff --git a/trigger/onSD_DANSEMount.sh b/trigger/onSD_DANSEMount.sh index dcb6e12..35d6a8b 100755 --- a/trigger/onSD_DANSEMount.sh +++ b/trigger/onSD_DANSEMount.sh @@ -1,7 +1,32 @@ #! /bin/bash set -eux -if [ -d '/Volumes/SD_DANSE/' ]; then -echo "`date` mounted SD Dance" >> /tmp/foo + +LOCK_FILE="/tmp/.lock.onSD_DANSE" +playsound="afplay /System/Library/Sounds/Morse.aiff" +rm_lock="sleep '15' && rm -f $LOCK_FILE" # wait to cancel late triggers +func_rm_lock() { + sleep '15' + rm -f $LOCK_FILE +} +if [ ! -d '/Volumes/SD_DANSE/' ]; then + func_rm_lock + exit 0 +elif [ -e "$LOCK_FILE" ]; then + exit 0 else -echo "`date` unmounted SD Dance" >> /tmp/foo -fi \ No newline at end of file + trap func_rm_lock INT TERM ERR + echo "`date` mounted SD Dance" >> $LOCK_FILE +fi + +SOURCE_DIR=${HOME}/Documents/.DanceVideos/SD_DANSE/ # final / is important to delete +mkdir -p ${SOURCE_DIR} + +DESTINATION_DIR=TEST +mkdir -p /Volumes/SD_DANSE/${DESTINATION_DIR} + +$playsound +playsound=`sed 's#[^/]*\.aiff#Hero.aiff#' <<<$playsound` +osascript -e "tell application \"Terminal\" + do script \"rsync -av --delete -r --progress ${SOURCE_DIR} /Volumes/SD_DANSE/${DESTINATION_DIR}/; echo Terminé $?; $rm_lock; echo 'Appuyez sur Entrée pour fermer...'; read dummy; diskutil unmount /Volumes/SD_DANSE/; $playsound; exit\" + activate +end tell"