Infosatepg.sh
Aus VDR Wiki
(Unterschied zwischen Versionen)
(switch back...) |
(M) |
||
Zeile 19: | Zeile 19: | ||
CHANNEL="VIVA" # which channel, e.g: <NUM> or <NAME> | CHANNEL="VIVA" # which channel, e.g: <NUM> or <NAME> | ||
TVMOVIE2VDRDIR="$SOURCEDIR/tvmovie2vdr" # path to tvmovie2vdr | TVMOVIE2VDRDIR="$SOURCEDIR/tvmovie2vdr" # path to tvmovie2vdr | ||
− | + | SHOWSTATUS="1" # show status (1=true/0=false) | |
EPGSEARCHUPDATEFILE="/etc/vdr/plugins/.epgsearchupdate" # background scan epgsearch-plugin | EPGSEARCHUPDATEFILE="/etc/vdr/plugins/.epgsearchupdate" # background scan epgsearch-plugin | ||
# CONFIG END | # CONFIG END | ||
Zeile 25: | Zeile 25: | ||
PATH=$PATH:/usr/local/bin | PATH=$PATH:/usr/local/bin | ||
− | if [ "$(ps axc| | + | if [ "$(ps axc | gawk "{if (\$5==\"infosatepg\") print \$1}")" ] ; then |
− | + | svdrpsend.pl MESG "infosatepg is already running..." | |
else | else | ||
− | + | svdrpsend.pl CHAN $CHANNEL | grep -e '^250.*' | |
− | svdrpsend.pl CHAN $ | + | if [ ! $? -eq 0 ] ; then |
− | if [ ! | + | |
sleep 2s | sleep 2s | ||
− | svdrpsend.pl MESG "switch to $ | + | svdrpsend.pl MESG "switch to $CHANNEL failed..." |
else | else | ||
− | mkdir -p | + | mkdir -p $INFOSAT_OUT |
− | infosatepg $ | + | infosatepg $INFOSAT_OPT -o $INFOSAT_OUT > $INFOSAT_OUT/status & |
− | PID= | + | PID=$! |
− | until ! ps -p | + | until ! ps -p $PID >/dev/null ; do |
− | if [ | + | if [ $SHOWSTATUS = 1 ] ; then |
− | STATUS= | + | STATUS=$(grep -s [0-9]% $INFOSAT_OUT/status | tail -n 1) |
− | eval | + | eval ${STATUS:+svdrpsend.pl MESG "$STATUS"} |
fi | fi | ||
sleep 30s | sleep 30s | ||
done | done | ||
− | if grep -qs complete | + | if grep -qs complete $INFOSAT_OUT/status ; then |
svdrpsend.pl MESG "infosatepg done..." | svdrpsend.pl MESG "infosatepg done..." | ||
sleep 2s | sleep 2s | ||
svdrpsend.pl HITK 0 | svdrpsend.pl HITK 0 | ||
fi | fi | ||
− | if [ "$ | + | if [ "$1" -a -d $TVMOVIE2VDRDIR ] ; then |
− | cd | + | cd $TVMOVIE2VDRDIR |
./tvm2vdr.pl >/var/log/tvmovie2vdr.log | ./tvm2vdr.pl >/var/log/tvmovie2vdr.log | ||
fi | fi | ||
− | touch | + | touch $EPGSEARCHUPDATEFILE |
fi | fi | ||
− | |||
fi | fi | ||
[[Kategorie:Scripts]] | [[Kategorie:Scripts]] |
Version vom 1. März 2005, 10:46 Uhr
#!/bin/sh # # infosatepg.sh - v.0.6 # # add this lines to your commands.conf: # folgende zeilen in die commands.conf eintragen: # # Run infosatepg : /usr/local/bin/infosatepg.sh # Run infosatepg + tvmovie2vdr : /usr/local/bin/infosatepg.sh -tvmovie2vdr # # Edit the config.pl: # # - our $infosaturl="/video/received_data"; # + our $infosaturl="/tmp/received_data"; # CONFIG START INFOSAT_OPT="-v" # options INFOSAT_OUT="/tmp/received_data" # store infosatepg in CHANNEL="VIVA" # which channel, e.g: <NUM> or <NAME> TVMOVIE2VDRDIR="$SOURCEDIR/tvmovie2vdr" # path to tvmovie2vdr SHOWSTATUS="1" # show status (1=true/0=false) EPGSEARCHUPDATEFILE="/etc/vdr/plugins/.epgsearchupdate" # background scan epgsearch-plugin # CONFIG END PATH=$PATH:/usr/local/bin if [ "$(ps axc | gawk "{if (\$5==\"infosatepg\") print \$1}")" ] ; then svdrpsend.pl MESG "infosatepg is already running..." else svdrpsend.pl CHAN $CHANNEL | grep -e '^250.*' if [ ! $? -eq 0 ] ; then sleep 2s svdrpsend.pl MESG "switch to $CHANNEL failed..." else mkdir -p $INFOSAT_OUT infosatepg $INFOSAT_OPT -o $INFOSAT_OUT > $INFOSAT_OUT/status & PID=$! until ! ps -p $PID >/dev/null ; do if [ $SHOWSTATUS = 1 ] ; then STATUS=$(grep -s [0-9]% $INFOSAT_OUT/status | tail -n 1) eval ${STATUS:+svdrpsend.pl MESG "$STATUS"} fi sleep 30s done if grep -qs complete $INFOSAT_OUT/status ; then svdrpsend.pl MESG "infosatepg done..." sleep 2s svdrpsend.pl HITK 0 fi if [ "$1" -a -d $TVMOVIE2VDRDIR ] ; then cd $TVMOVIE2VDRDIR ./tvm2vdr.pl >/var/log/tvmovie2vdr.log fi touch $EPGSEARCHUPDATEFILE fi fi