Rememberevent.sh

Материал из RuVDRWiki

Перейти к: навигация, поиск

Скрипт модуля Epgsearch

Файл
$PATH/rememberevent.sh
#!/bin/sh
#
# rememberevent.sh
#
# source: vdr-plugin epgsearch
#
# add this lines to your epgsearchcmds.conf:
# folgende zeilen in die epgsearchcmds.conf eintragen:
#
# remember event               : /path_to_this_script/rememberevent.sh 0
# remember event (inc. switch) : /path_to_this_script/rememberevent.sh 1
# show event list              : /path_to_this_script/rememberevent.sh -ls
# remove all events?           : /path_to_this_script/rememberevent.sh -rm

# CONFIG START
  #ATD_SPOOL=/var/spool/atjobs
  ATD_SPOOL=/var/spool/cron/atjobs

# default settings
  MINSBEFORE=1  # minutes before event for announcement
  FORMAT=UTC    # date format, eg.: UTC/MET
# CONFIG END

PATH=$PREFIX/bin:$PREFIX/sbin:$PATH

case $1 in
    -ls)
	eval $(grep -hs ^'echo -e ' $ATD_SPOOL/*)
	;;
    -rm)
	find $ATD_SPOOL -exec grep -qs ^'echo -e ' \{} \; -exec rm -f \{} \;
	;;
      *)
	switch_time=`date -d "1970-01-01 $FORMAT $3 seconds" +"%a.%d %H:%M"`
	secs=$(($3-$MINSBEFORE*60))
	secs_now=`date +%s`
	if [ $secs -le $secs_now ] ; then
	    echo "svdrpsend.pl -p ${VDR_PORT:-2001} MESG '$2 already runs!' >/dev/null" | at now
	else
	    if [ -z "$(find $ATD_SPOOL -exec grep -qs "$switch_time: $6\\\\n$2\\\\n======" \{} \; -exec rm -v \{} \;)" ] ; then
		at $(date -d "1970-01-01 $FORMAT $secs seconds" +"%H:%M %m/%d/%Y") <<EOT
		svdrpsend.pl -p ${VDR_PORT:-2001} MESG '${switch_time#* }: $2' >/dev/null
		sleep $(($MINSBEFORE*60))s
		if [ $1 -eq 1 ] ; then
		    svdrpsend.pl -p ${VDR_PORT:-2001} CHAN $5 >/dev/null
		else
		    svdrpsend.pl -p ${VDR_PORT:-2001} MESG '$2 starts!' >/dev/null
		fi
		exit 0
echo -e "$switch_time: $6\n$2\n======";
EOT
	    fi
	fi
	;;
esac
Личные инструменты