Hallöchen
Ich weiß ja nicht, ob so etwas jemand braucht; ich hätte mich gefreut, hätt´ich es gefunden Keiner der "externen EPG-Quellen" stellt die Daten sonst zur Verfügung...sowas macht man ja nicht ...
An dieser Stelle Vielen Dank nochmal an alle Helfer
Mit freundlicher Unterstützung aus dem Portal habe ich ein Script zusammengeschustert, welches die Programmvorschau von der dazugehörigen Webseite runterlädt, in ein "xml2vdr" - taugliches Format bringt und dann per xml2vdr in den VDR einspeist.
Es ist hässlich, langsam, wahrscheinlich von hinten durch die Brust in´s Auge...
...aber es funktioniert
Als Vorraussetzung :
xmltv
xmltv2vdr
diese Scripte und die channel.conf unter /usr/share/xmltv2vdr/
Einmal zum Reinschauen (und sich gruseln ;)) erz_fullx3epg.sh
#!/bin/bash
ROOT=/usr/share/xmltv2vdr
XMLTV=$ROOT/xmltv2vdr.pl
rm $ROOT/Fullx3WebGrep
wget -O $ROOT/Fullx3WebGrep http://media.full-x.tv/moviebase/getprogramsall.php?chaine=2
echo "Starte fullx2vdr..."
$ROOT/fullx2vdr.sh
echo "fullx2vdr beendet"
echo "Starte xmltv2vdr..."
$XMLTV -t 900 -x $ROOT/xml_fullx3.dat -c $ROOT/channels.conf
echo "Xmltv2vdr beendet"
Alles anzeigen
fullx2vdr.sh
#!/bin/bash
WebFrameFullxTv=/usr/share/xmltv2vdr/Fullx3WebGrep
Temp1=/usr/share/xmltv2vdr/fullx2vdr.tmp
Temp2=/usr/share/xmltv2vdr/fullx2vdr.tmp2
TitleNumber=1
cat $WebFrameFullxTv | sed "s/;/\n/g" | while read line
do
echo $line | grep "font color\=white" && let TitleNumber=$TitleNumber+1
echo $line | sed "s/;/\n/g" | grep "990066" && export Date=`echo $line | sed "s/;/\n/g" | grep "990066" | cut -d">" -f6 | cut -d"&" -f1`
echo $line | grep "990066" && {
Title=`cat $WebFrameFullxTv | sed "s/;/\n/g" | grep "font color=white" | grep -v "View trailer" | head -n$TitleNumber | tail -n1 | cut -d">" -f4 | cut -d"<" -f1`;
NUM=$Title$line$Date; echo $NUM; } || Title=`cat $WebFrameFullxTv | sed "s/;/\n/g" | grep "font color=white" | grep -v "View trailer" | head -n$TitleNumber | tail -n1 | cut -d">" -f4 | cut -d"<" -f1`;
NUM="$Title xxxxxx $Date yyyyy $line" ; echo $NUM;
done | grep FX3 | cut -d">" -f1-3 | sed "s/xxxxxx/</g" | sed "s/yyyyy/</g" > $Temp1
cat $Temp1 | while read line2
do
TmpName=`echo $line2 | cut -d"<" -f1`
TmpDate=`echo $line2 | cut -d"<" -f2`
TmpTime=`echo $line2 | cut -d"<" -f5 | cut -d">" -f2`
TmpVdrTime=`date -d "$TmpDate$TmpTime" +%Y%m%d%H%M%S`
echo "<programme start=\"$TmpVdrTime\" channel=\"fullx3\">"
echo "<title lang=\"de\">$TmpName</title>"
done > $Temp1
tac $Temp1 > $Temp2
START=""
cat $Temp2 | while read line
do
if [ "$(echo "$line" | grep "programme start")" ]
then
if [ -z "$START" ]
then
START=$(echo "$line" | awk -F\" '{print $2}')
echo ${line/\" c/\" stop=\"xxxxxxxxxxxxxx\" c}
else
echo 'channel="fullx3">'
echo ${line/\" c/\" stop=\"$START\" c}
START=$(echo "$line" | awk -F\" '{print $2}')
echo '</channel>'
echo '<display-name lang="de">FULLX</display-name>'
echo '<channel id="fullx3">'
#echo -e "\n"
fi
else
echo -e "\n"
echo '</programme>'
echo $line
fi
done > $Temp1
rm /usr/share/xmltv2vdr/xml_fullx3.dat
echo '<?xml version="1.0" encoding="ISO-8859-1"?>' >> /usr/share/xmltv2vdr/xml_fullx3.dat
echo '<!DOCTYPE tv SYSTEM "xmltv.dtd">' >> /usr/share/xmltv2vdr/xml_fullx3.dat
echo '<tv source-info-url="http://www.full-x.tv/"' >> /usr/share/xmltv2vdr/xml_fullx3.dat
echo 'source-data-url="http://media.full-x.tv/moviebase/getprogramsall.php?chaine=2" generator-info-name="XMLTV"'>> /usr/share/xmltv2vdr/xml_fullx3.dat
echo 'generator-info-url="http://membled.com/work/apps/xmltv/">'>> /usr/share/xmltv2vdr/xml_fullx3.dat
echo -e "\n" >> /usr/share/xmltv2vdr/xml_fullx3.dat
tac $Temp1 >> /usr/share/xmltv2vdr/xml_fullx3.dat
Alles anzeigen
Dann noch das Script erz_fullx3epg.sh entweder über die Commandos vom VDR oder per cron starten...und die Daten sind auf dem TV *freu
Bekannte Probleme:
Sendungen, die abends kommen, und eine Endzeit am nächsten Tag haben, werden nicht übernommen...Das Problem liegt wohl daran, daß auf der Webseite die Programme etwas besch...eiden angezeigt werden...ungefähr so:
ZitatAlles anzeigen24 april
film a --Start 20.00 Uhr
film b --Start 22.00 Uhr
film c --Start 0.30 Uhr
film d --Start 2.40 Uhr
25 april
film e --Start 04.10 Uhr
film f --Start 05.50 Uhr
Dadurch kommt dann die "Endzeitberechnung" in dem Script durcheinander(da die Startzeit des aktuellen Filmes die Endzeit des letzten Filmes wird...)
da habe ich noch keine Idee dazu gehabt...
Falls jemand von Euch dieses Script benutzen kann, oder Verbesserungsvorschläge hatt, würde ich mich über eine Rückmeldung hier freuen...
MfG
Crue