Infosatepg.sh
Aus VDR Wiki
(Unterschied zwischen Versionen)
| Zeile 9: | Zeile 9: | ||
# folgende zeilen in die commands.conf eintragen: | # folgende zeilen in die commands.conf eintragen: | ||
# | # | ||
| − | # Run infosatepg : echo "/ | + | # Run infosatepg : echo "/path_to_this_script/infosatepg.sh" | at now |
| − | # Run infosatepg + tvmovie2vdr : echo "/ | + | # Run infosatepg + tvmovie2vdr : echo "/path_to_this_script/infosatepg.sh -tvmovie2vdr" | at now |
| + | # View logfile : /path_to_this_script/infosatepg.sh -log | ||
# | # | ||
# Edit the config.pl: | # Edit the config.pl: | ||
# | # | ||
# - our $infosaturl="/video/received_data"; | # - our $infosaturl="/video/received_data"; | ||
| − | # + our $infosaturl=" | + | # + our $infosaturl="$INSTALLPREFIX/cache/infosatepg"; |
# CONFIG START | # CONFIG START | ||
| − | INFOSAT_OPT="-v" | + | INFOSAT_OPT="-v" # options |
| − | CHANNEL="VIVA" | + | CHANNEL="VIVA" # which channel, e.g: <NUM> or <NAME> |
| − | SHOWSTATUS="1" | + | SHOWSTATUS="1" # show status (1=true/0=false) |
| − | INFOSAT_OUT="/usr/local/cache/infosatepg" | + | INFOSAT_OUT="/usr/local/cache/infosatepg" # store infosatepg in |
| − | + | INFOSAT_LOG="/var/log/vdr/infosatepg.log" # logfile | |
# CONFIG END | # CONFIG END | ||
| − | PATH=/usr/local/bin:$PATH | + | PATH=/usr/local/bin:$PATH:$PREFIX/bin |
| − | if [ - | + | case $1 in |
| − | + | -log) | |
| − | + | if [ -s $INFOSAT_LOG ] ; then | |
| − | + | tail -n 10 $INFOSAT_LOG | tr -d '#_' | |
| − | + | else | |
| − | + | echo "$INFOSAT_LOG not exist or empty..." | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
fi | fi | ||
| − | wait $PID; kill $! | + | ;; |
| − | + | *) | |
| − | + | if [ -n "$(pidof infosatepg)" ] ; then | |
| − | + | svdrpsend.pl MESG "infosatepg is already running..." | |
| − | + | else | |
| − | + | if [ "$(svdrpsend.pl CHAN $CHANNEL | grep -c '^250.*')" -eq 0 ] ; then | |
| − | + | svdrpsend.pl MESG "switch to $CHANNEL failed..." | |
| − | + | else | |
| − | + | mkdir -p $INFOSAT_OUT | |
| − | fi \ | + | infosatepg $INFOSAT_OPT -o $INFOSAT_OUT > $INFOSAT_LOG & |
| − | >/dev/null 2>&1 | + | PID=$! |
| + | if [ "$SHOWSTATUS" -eq 1 ] ; then | ||
| + | sh -c "until ! ps -p $PID; do sleep 30s; svdrpsend.pl MESG \"\$(grep -s [0-9]% $INFOSAT_LOG | tail -n 1)\"; done" & | ||
| + | fi | ||
| + | wait $PID; kill $! | ||
| + | svdrpsend.pl MESG "$(tail -n 1 $INFOSAT_LOG)..." | ||
| + | sleep 1s | ||
| + | svdrpsend.pl HITK 0 | ||
| + | if [ -n "$1" -a -n "$(which tvmovie2vdr)" ] ; then | ||
| + | tvmovie2vdr -start | ||
| + | fi | ||
| + | fi | ||
| + | fi \ | ||
| + | >/dev/null 2>&1 | ||
| + | ;; | ||
| + | esac | ||
</pre> | </pre> | ||
[[Kategorie:Scripts]] | [[Kategorie:Scripts]] | ||
Version vom 16. April 2005, 09:14 Uhr
#!/bin/sh
#
# infosatepg.sh
#
# Required: ps, svdrpsend.pl, infosatepg, tvm2vdr.pl (optional)
#
# add this lines to your commands.conf:
# folgende zeilen in die commands.conf eintragen:
#
# Run infosatepg : echo "/path_to_this_script/infosatepg.sh" | at now
# Run infosatepg + tvmovie2vdr : echo "/path_to_this_script/infosatepg.sh -tvmovie2vdr" | at now
# View logfile : /path_to_this_script/infosatepg.sh -log
#
# Edit the config.pl:
#
# - our $infosaturl="/video/received_data";
# + our $infosaturl="$INSTALLPREFIX/cache/infosatepg";
# CONFIG START
INFOSAT_OPT="-v" # options
CHANNEL="VIVA" # which channel, e.g: <NUM> or <NAME>
SHOWSTATUS="1" # show status (1=true/0=false)
INFOSAT_OUT="/usr/local/cache/infosatepg" # store infosatepg in
INFOSAT_LOG="/var/log/vdr/infosatepg.log" # logfile
# CONFIG END
PATH=/usr/local/bin:$PATH:$PREFIX/bin
case $1 in
-log)
if [ -s $INFOSAT_LOG ] ; then
tail -n 10 $INFOSAT_LOG | tr -d '#_'
else
echo "$INFOSAT_LOG not exist or empty..."
fi
;;
*)
if [ -n "$(pidof infosatepg)" ] ; then
svdrpsend.pl MESG "infosatepg is already running..."
else
if [ "$(svdrpsend.pl CHAN $CHANNEL | grep -c '^250.*')" -eq 0 ] ; then
svdrpsend.pl MESG "switch to $CHANNEL failed..."
else
mkdir -p $INFOSAT_OUT
infosatepg $INFOSAT_OPT -o $INFOSAT_OUT > $INFOSAT_LOG &
PID=$!
if [ "$SHOWSTATUS" -eq 1 ] ; then
sh -c "until ! ps -p $PID; do sleep 30s; svdrpsend.pl MESG \"\$(grep -s [0-9]% $INFOSAT_LOG | tail -n 1)\"; done" &
fi
wait $PID; kill $!
svdrpsend.pl MESG "$(tail -n 1 $INFOSAT_LOG)..."
sleep 1s
svdrpsend.pl HITK 0
if [ -n "$1" -a -n "$(which tvmovie2vdr)" ] ; then
tvmovie2vdr -start
fi
fi
fi \
>/dev/null 2>&1
;;
esac