#!/bin/sh -e
# Handles udev new partition event and makes speech notification in Russian language
# Michael Pozhidaev <msp@altlinux.org>
# Date: 2011-11-27

SOUND_FILE='/usr/share/sounds/voiceman/media.ogg'

[ "$(who | wc -l)" == 0 ] && exit 0
[ "$ACTION" == 'add' ] || exit 0
[ -z "$DEVTYPE" ] && exit 1
[ -z "$DEVPATH" ] && exit 1
[ "$DEVTYPE" != "disk" ] && exit 0

SIZE="$(cat "/sys/$DEVPATH/size")"
let SIZE="$SIZE"/2048
[ -z "$SIZE" ] && exit 1

STRING1='мегабайт'
STRING2='мегабайта'
LAST1="$(echo "$SIZE" | grep -E -o '.$')"
LAST2="$(echo "$SIZE" | grep -E -o '..$')"

if [ -z "$LAST2" ]; then
    if [ "$LAST1" -ge 2 ] && [ "$LAST1" -le 4 ]; then	
	RES="$STRING2"
    else 
	RES="$STRING1"
    fi
else
    if [ "$LAST2" -ge 11 ] && [ "$LAST2" -le 19 ]; then
	RES="$STRING1"
    else
	if [ "$LAST1" -ge 2 ] && [ "$LAST1" -le 4 ]; then	
	    RES="$STRING2"
	else 
	    RES="$STRING1"
	fi
    fi
fi

MSG="Подключён съёмный носитель данных размером $SIZE $RES"
/usr/bin/ogg123 "$SOUND_FILE" &> /dev/null
LANG=ru_RU.UTF-8 /usr/bin/voiceman --say "$MSG"
