We gaan verhuizen
De grabber is aan het verhuizen naar Google Code. Deze pagina zal niet meer worden bijgewerkt. Nieuwe releases en hopelijk betere documentatie is voortaan te vinden op http://code.google.com/p/tvgrabnlpy tv_grab_nl_py
tv_grab_nl_py is een xmltv-compatibele grabber geschreven in python die TV-programmainformatie ophaalt bij TVGids. Prettige eigenschappen van deze grabber zijn:
- detailinformatie wordt gecached
- categorie-informatie wordt geconverteerd zodat de kleurcodering werkt in de EPG van MythTV
- instelbaar aantal dagen dat met detailinformatie wordt opgehaald
- links naar zenderlogo's worden automatisch toegevoegd.
- 2007/11/17 Versie 58 is uit, verhelpt probleem met user-agent.
- 2007/10/27 Versie 56 is uit met 2 kleine fixes. Een patch van Han Holl die extra controleert op het verwijderen van programma's die eindigen voor ze beginnen. En een fix van Martijn Brekhof voor een niet geinitialiseerde variabele die soms ervoor zorgde dat de grabber voortijdig eindigde met grabben.
- 2007/08/29 Versie 53 is uit, 2 kleine fixes volgens de xmltv dtd (stereo en aspect ratio), met dank aan Han Holl.
- 2007/08/26 Versie 50 is uit, vergeten patch van Ian MacDonald voor het verwijderen van gesponsorde links toe te passen.
- 2007/08/26 Versie 48 is uit, patch van Ian MacDonald voor de description lengths en twee nieuwe logo's (Comedy Central en RTL 8).
- 2007/03/06 Versie 44 is uit, fix voor de tijdzonenamen onder windows (het is nu generiek opgelost voor elk platform), fix voor lege programmanamen, en omroep Fryslan toegevoegd aan de logo's.
- 2007/03/06 Versie 41 is uit, patch van Huub Bouma met fix voor probleem waarbij te weinig data wordt opgehaald (--offset probleem).
- 2007/02/25 Versie 39 is uit, de patches die waren gepost naar de mailinglist zijn toegepast plus nog wat andere kleine fixes.
- 2006/09/26 Versie 34 is uit, het TVWest logo wordt nu correct opgehaald, en het TVNoord logo is toegevoegd (dank aan Huub Bouma).
- 2006/09/19 Versie 32 is uit, een minieme wijzing in de naam van Spice (Francesco Peeters). Verder was er een klein hikje bij tvgids, maar dat lijkt opgelost te zijn. En er is nu een mailinglist voor announcements, discussie en patches.
- 2006/08/27 Versie 30 is uit. Kleine wijziging (1 regel) waardoor speciale karakters in descriptions niet meer de boel kunnen laten crashen. Dank aan Daniel Polak voor het melden.
- 2006/08/08 Versie 28 is uit. Michael Heus en ik hebben alles robuuster gemaakt voor mogelijke overlaps, maar er is natuurlijk een grens aan wat er gedaan kan worden aan de soms wel heel erg lastig te interpreteren data van tvgids.nl. In deze versie worden overlaps gecorrigeerd voor zover mogelijk. Standaard is de overlapstrategie zoals aangegeven als hieronder bij versie 23, maar er is ook de mogelijkheid om de eindtijd of de starttijd leidend te laten zijn. Zie de source en beneden voor meer informatie (--max_overlap en --overlap_strategy). Verder is een gedeelte van de code voor het plaatsen van programma's op de juiste datum herschreven. Voordeel is dat er nu geen problemen meer zijn rond een dagovergang. Nadeel is dat python versie >= 2.3 nu nodig is vanwege de datetime module.
- 2006/08/01 Versie 23 "Het Overlapfestival" - is uit. Het is
bij tvgids.nl ook vakantie en er zijn flink wat gevallen waar de
begintijd van een programma een paar minuten voor de eindtijd van het
vorige programma ligt. Het gevolg is dat mythfilldatabase programmering
weigert. In deze nieuwe versie wordt het overlappende interval gehalveerd
en de eind- en begintijd worden aangepast:
# 10:55 - 12:00 Lala # 11:55 - 12:20 Wawa # word: # 10:55 - 11.57 Lala # 11:57 - 12:20 Wawa # # en ook: # # 10:55 - 11:50 Lala # 12:00 - 12:20 Wawa # wordt: # 10:55 - 11.55 Lala # 11:55 - 12:20 WawaDe maximale grootte van het te beschouwen interval is in te stellen met de globale variabele "max_overlap" die default op 10 minuten staat. - 2006/07/16 Versie 19 "Het Schlagerfestival" - is uit. Bij het afkappen van lange beschrijvingen werd er soms misgeknipt (dank aan Michael Heus).
- 2006/02/02 Versie 12 is uit. Geen grote wijzigingen, alleen drie kleine robustificerende aanpassingen (met dank aan Huub Bouma, Bart Post en Sander Tuit).
- 2006/01/07 Versie 9 is uit. Michael Heus had een iets mooiere fix voor het eindtijdenprobleem.
- 2006/01/07 Versie 8 is uit. Fix om kanalen waar alleen maar begintijden worden gegeven te lezen (RTL 7, the Box, Nickelodeon etc.). Fixlet van Michael Heus voor betere filmdetectie.
- 2005/12/18 tv_grab_nl_pdb is verherbenoemd naar tv_grab_nl_py. Het blijft een niet echt lekker bekkende naam, maar aangezien steeds meer mensen een bijdrage leveren aan het scriptje en ik altijd al een hekel heb gehad aan het gebruiken van mijn initialen is het nu tv_grab_nl_py geworden. Tegelijkertijd ben ik overgestapt van CVS naar SVN waardoor ook de versienummering anders wordt. De laatste versie van tv_grab_nl_pdb is 0.48, de eerste versie van tv_grab_nl_py is 7.
- In deze nieuwe versie is de overlapdetectie behoorlijk verbeterd, meer informatie over het programma (zoals acteur/actrice/presentator/stereo/breedbeeld/teletekst) wordt overgenomen en de filmdetectie is beter.
- De belangrijkste verandering voor de gebruiker is dat de zenderconfiguratie niet meer standaard in tv_grab_nl_pdb.conf, maar in tv_grab_nl_py.conf staat. Alleen de naam is veranderd, dus upgraden is een kwestie van simpel een kopie maken.
download
Alle voorgaande versies zijn hier hier te vinden. De nieuwste versie is tv_grab_nl_py.installatie
algemeen
- Download de laatste versie en hernoem deze zo nodig naar tv_grab_nl_py
- Maak een backup van je bestaande grabber: mv /usr/bin/tv_grab_nl /usr/bin/tv_grab_nl.backup
- Maak een symlink naar de nieuwe grabber: ln -s /waar/ik/de/grabber/neerzet/tv_grab_nl_py /usr/bin/tv_grab_nl
- Maak de grabber executable: chmod ugo+x /waar/ik/de/grabber/neerzet/tv_grab_nl_py
configuratie
- Haal de lijst met tv kanalen op: tv_grab_nl_py --configure of: tv_grab_nl --configure al naar gelang hoe een en ander gesymlinked is.
- De lijst wordt standaard neergezet in: ${HOME}/.xmltv/tv_grab_nl_py.conf, als die directory niet bestaat dan wordt deze automatisch aangemaakt. Alternatief is de --config-file optie.
- Edit de gedownloade lijst, haal de regels met kanalen die je niet wilt grabben weg of zet er een # voor
- De eerste keer kan de grabber er een behoorlijke tijd over doen om detailinformatie op te halen. Het beste kun je eerst de informatie ophalen in fast mode (--slow=0), dan heb je snel een overzicht (maar zonder detailinformatie). Daarna kun je de grabber aanzetten om alles op te halen. De opgehaalde informatie wordt gecached, en de volgende keer zal het aanmerkelijk sneller gaan. Om een idee te geven: ik haal voor 21 kanalen informatie op en dit duurt ongeveer 24 minuten.
opties
- tv_grab_nl_py --help
- Als je voorheen tv_grab_nl gebruikte, geef dan de --compat optie mee of zet compat = 1 in het script (zo rond regel 953), dan worden de correcte xmltvid's gegenereerd.
- Standaard worden logo's automatisch toegevoegd aan de xmldata. De
optie is --logos=1 of zet logos = 1, uitzetten kan natuurlijk ook.
Let op: mythfilldatabase trekt de logo's binnen en zet ze neer in
${HOME}/.mythtv/channels (dus, de homedirectory van de user die
mythfilldatabase draait). Oude logo's worden niet overschreven, dus als
je al je logo's nieuw wilt hebben maak dan deze directory even leeg.
Met dank aan Michel van der Laan zijn er de volgende logo's:
- --max_overlap de maximale lengte van de positieve of negative overlap in minuten die nog gecorrigeerd zal worden. Standaard 10 minuten.
- --overlap_strategy de strategie die wordt gevolgd bij het
corrigeren van een overlap:
- "average" (default), middel het overlappende interval en pas de begin- en eindtijden van de omliggende programma's aan
- "stop" de eindtijd van het eerste programma is leidend, dit is een handige strategie om te gebruiken om iets meer kans te hebben het einde van een programma te vangen
- "start" de starttijd van het tweede programma is leidend, dit is een handige strategie om iets meer kans te hebben het begin van een programma te vangen.
- "none" doe niets met overlappende programma's. De kans is groot dat een gedeelte van de programmering door mythfilldatabase niet geaccepteerd wordt.
configuratie-opties
- Optioneel kun je cron gebruiken om dagelijks de informatie
te verversen:
- Save het volgende stukje in ~/bin/mythfilldatabasecron
#!/bin/bash export QTDIR=/usr/lib/qt3 /usr/local/bin/mythfilldatabase - Edit de crontab: crontab -e en voeg een regel toe
met:
24 05 * * * /home/paul/bin/mythfilldatabasecron
- Save het volgende stukje in ~/bin/mythfilldatabasecron
- Klaar!
- "Mijn data is een dag verschoven."
Dit kan komen doordat de grabber draait tussen 00:00 en 04:00. Op die tijden gaat tvgids er nog van uit dat je data voor "vandaag" wilt hebben. Je krijg dan precies een dag verschoven de data binnen. Simpele oplossing is om ergens na 04:00 te grabben. - "Er komt geen data binnen via mythfilldatabase, en hij download wel alles."
Waarschijnlijk gebruikte je eerst tv_grab_nl? Gebruik de --compat flag of edit het script en zet compat = 1. Dit zorgt ervoor dat de xmltvid volgens tv_grab_nl standaard wordt doorgegeven. - ... suggesties?
- Suggesties, problemen, patches, etc. kun je mailen naar paul|at|pwdebruin|dot|net
- De mailinglist kan misschien helpen.
- De laatste grote verbeteringen zijn toegevoegd door Michael Heus (regisseur, acteur, presentatorinformatie, overlapverwijdering, tips van tvgids, stereo, breedbeeld, zwart-wit, en betere filmdetectie).
- De logo's komen uit de collectie van Michel van der Laan