Probleme mit tv_grab_de_tvtoday

email.listen at googlemail.com email.listen at googlemail.com
Don Apr 26 17:42:41 BST 2007


On Fri, 13. April 2007 07:26:48 Thorsten Scherler wrote:
> On Thu, 2007-04-05 at 19:25 +0200, Rainer Unkenstein wrote:
> > Am Sonntag, den 25.03.2007, 14:00 +0200 schrieb Thorsten Scherler:
> > > > Läuft das Script bei Euch noch, oder haben die an der tvtoday Seite
> > >
> > > was
> > >
> > > > geändert?
> >
> > IMHO hat damals bei TVToday sich was geändert. es gibt eine Alternative:
> > http://www.mythwiki.de/index.php?title=HOWTO_Prisma_EPG
> > http://sfr.mythwiki.de/download/index.html
> >
> > Rainer
>
> Vielen Dank Rainer.
>
> Fett, dass es eine Alternative gibt.

Nicht wirklich, da mit tv_grab_de_prisma so einfach kein automatisches update 
der mythtv EPG Daten möglich ist.
Aber es gibt eine neue tv_grab_de_tvtoday.in im xmltv CVS[1] die du einfach an 
die Stelle der tv_grab_de_tvtoday kopieren kannst. Allerdings sind viele der 
bisherigen Sender weggefallen. 

[1] http://xmltv.cvs.sourceforge.net/xmltv/xmltv/grab/de_tvtoday/



Um die prisma Programminformationen nutzen zu können ändert man am besten 
das /etc/cron.daily/mythtv-backend cron script.
Ich hab dort einen Aufruf für ein Script in $HOME/mathtv/bin/ eingefügt.

---8<--- /etc/cron.daily/mythtv-backend ---8<---
#!/bin/sh
#test -x /usr/bin/mythfilldatabase || exit 0
#su - mythtv -c "mythfilldatabase --quiet"
test -x /home/mythtv/bin/prismatv.sh || exit 0
su - mythtv -c "/home/mythtv/bin/prismatv.sh"
---8<--- /etc/cron.daily/mythtv-backend ---8<---

---8<--- /home/mythtv/bin/prismatv.sh ---8<--- 
#!/bin/bash
#
#         File : prismatv.sh
#      Version : 0.11
#         Date : 2007-03-22
#       Author : email.listen at googlemail.com
# Last changed : 2007-04-10
#
#      Options : none-yet
#        Usage : prismatv.sh

workdir="$HOME/.xmltv"
days=1
offset=1
slow="--slow" # entweder "--slow" oder "" für nicht slow
filename="prisma.xml"
output="$workdir/$filename"

cd $workdir

#
# das \ am Ende der nächsten Zeile ist ein Zeilenumbruch
# 
/usr/bin/tv_grab_de_prisma $slow --days $days \ 
  --offset $offset  --output $output.$(date -I)

cp $output.$(date -I) $output
mythfilldatabase --file 1 -1 $output
#
# wenn die folgende Zeile auskommentiert wird
# bleiben die TV-Programm Dateien erhalten.
# Sie sollten dann aber ab und an von Hand entfernt werden
# Sonst ist die Platte nach einiger Zeit voll.
#
rm $output.$(date -I) 




---8<--- /home/mythtv/bin/prismatv.sh ---8<--- 

Das script /home/mythtv/bin/prismatv.sh kann man sicherlich noch verbessern. 
So wäre es möglich die Variablen $days, $offset, ... bereits beim Aufruf des 
Scriptes zu übergeben. Dann wären im cron-script nur die Aufruf Parameter für 
prisma.sh zu ändern und man könnte sich das editieren von prisma.sh sparen 
wenn man es mit anderen Parametern nutzen will.
Auch wäre es machbar den Aufruf "rm $output.$(date -I)" zum Löschen der 
$output.$(date -I) Datei vom erfolgreichen Ablauf des 
Kommandos "mythfilldatabase --file 1 -1 $output" abhängig zu machen. So hätte 
man mit nur einem Blick die Kontrolle ob alles glatt gelaufen ist. Existiert 
die Datei $output.$(date -I) nach einem Lauf des cron Scriptes noch so wurde 
der Ablauf unterbrochen.


Anstatt der täglichen Aktualisierung kann man auch eine wöchentliche 
Aktualisierung erwirken. Dafür muss das Script /etc/cron.daily/mythtv-backend 
nach /etc/cron.weekly/mythtv-backend verschoben werden. Zusätzlich muss in 
dem script /home/mythtv/bin/prismatv.sh der Wert days=1 auf days=7 gesetzt 
werden damit auch die Daten einer ganzen Woche abgefragt werden.

Allerdings dauert dann der download der Programminformationen eine halbe 
Ewigkeit und die mit der Option --slow abgefragten ergänzenden 
Programminformationen sind oft nicht erreichbar.

Ich habe bewusst ein eigenständiges script /home/mythtv/bin/prismatv.sh 
erstellt. Man könnte dessen Inhalt auch in das 
Script /etc/cron.daily/mythtv-backend ablegen. Ich persönlich finde es aber 
besser das zu splitten. So das prisma.sh script auch anderweitig nutzbar. 

Fast hätte ich es vergessen, in mythtv-setup müssen bei einigen Kanälen 
Änderungen vorgenommen werden, damit auch die Programminformation angezeigt 
werden.
In mythtv-setup unter "Sender bearbeiten" einen Sender anwählen, Eingabetaste 
drücken und im Feld "XMLTV-ID" die entsprechende ID aus der 
Datei /usr/share/xmltv/tv_grab_de_prisma/channel_ids eintragen.

Das mythtv-setup kann man einfach parallel su einer laufenden mythfrontend 
Sitzung starten um nebenher einen Überblick über die Programminformationen zu 
haben.
So schaut man einfach in mythfrontend nach welcher Kanal keine 
Programminformation anzeigt, wechselt zu mythtv-setup und ändert dort die 
Einstellungen. 
Nachdem das nächste mal das cron Script gelaufen ist sollten die 
Programminformation Daten da sein.

regards,
thomas