Git Product home page Git Product logo

Comments (15)

hikavdh avatar hikavdh commented on September 25, 2024

Ik ken jouw instellingen niet dus ik kan alleen maar raden, maar De programma tijden voor de npo kanalen komen in eersten instantie van vpro.nl (maximaal 5 dagen vooruit) en in tweeden instantie van npo.nl. Echter de listings van npo.nl zij regelmatig niet compleet. Het lijkt er op, aangezien hun site primair op streaming gericht is, dat het hierbij om buitenlandse programma's gaat waarvoor ze onvoldoende rechten hebben. Op de npo.nl site voor 24 augustus (je kunt zo ver vooruit niet in het menu selecteren, maar je kunt de datum in de url aanpassen) zie ik om 22:45 De Maatschap en dan pas om 1:05 De Nachtzoen. In de details zie ik dat de Maatschap 49 minuten duurt, dus er ontbreekt een programma tussen 23:34 en 1:05 (minus de reclame). Zodra vpro.nl data gaat leveren (as. zondag) dan corrigeert zich dat. tvgids.tv wordt uitsluitend voor starttijden gebruikt voor zenders waar geen andere informatie van is en er zijn hoegenaamd geen zenders die niet ook in de horizon (ziggo) listing voorkomen. Dus tenzij je alle andere bronnen uitgeschakeld hebt kan dit niet met tvgids.tv te maken hebben.

from tvgrabpyapi.

hikavdh avatar hikavdh commented on September 25, 2024

tvgids.tv is inderdaad vervelend omdat ze tot ca. 6 uur 's ochtends de vorige dag nog vandaag blijven noemen, maar dat wordt gecorrigeerd en nog eens extra getest door de feitelijke datum die op de pagina staat te vergelijken met de opgevraagde datum. Als dat niet klopt dan wordt de pagina verworpen. Het is theoretisch mogelijk dat de test routine, die (voor sites die alleen starttijden zonder datum geven) detecteert of middernacht gepasseerd wordt onterecht getriggerd wordt, maar dit is zeldzaam en duidt op meer fouten in de pagina data.

from tvgrabpyapi.

rsenden avatar rsenden commented on September 25, 2024

Bedankt voor de informatie. Ik gebruik een standaard configuratie en heb geen bronnen uitgeschakeld.

In de logfile wordt alleen tvgids.tv genoemd als source voor dit programma, met als datum 25 augustus:

hts@NAS:~/.xmltv$ fgrep 'La Vache' *.log
tv_grab_nl3_py.log:2018-08-15 08:43:59 CEST: Added from       tvgids.tv: 25 Aug 23:40 - 26 Aug 01:05: La Vache:--- Genre: Unknown.
tv_grab_nl3_py.log:2018-08-15 08:45:16 CEST: Kept unmatched:             25 Aug 23:40 - 26 Aug 01:05: La Vache:--- Genre: Unknown.
tv_grab_nl3_py.log:2018-08-15 08:45:16 CEST: Kept unmatched:             25 Aug 23:40 - 26 Aug 01:05: La Vache:--- Genre: Unknown.
tv_grab_nl3_py.log:2018-08-15 08:45:16 CEST: Kept unmatched:             25 Aug 23:40 - 26 Aug 01:05: La Vache:--- Genre: Unknown.
tv_grab_nl3_py.log:2018-08-15 08:45:17 CEST: Kept unmatched:             25 Aug 23:40 - 26 Aug 01:05: La Vache:--- Genre: Unknown.

Dit terwijl op tvgids.tv het programma op 24 augustus vermeld staat, en ook in de omschrijving staat als datum 24 augustus: https://www.tvgids.tv/tv/la-vache/20810311

from tvgrabpyapi.

hikavdh avatar hikavdh commented on September 25, 2024

Oh en dan nog één ding. Om een grab niet nodeloos lang te laten duren, wordt voor elke bron uitsluitend data opgehaald voor vandaag en voor tot dan toe nog onbekende dagen tot een maximum van 4 dagen per zender, per bron. De rest komt uit de database. Dus als toen je van een bron de data voor de 25e ophaalde (waarschijnlijk de 9de) er foutieve data binnengehaald is, wordt dit pas de nacht van 24 op 25 gecorrigeerd.
Per zender en dag is er altijd maar één bron die de primaire gegevens (naam en startijd) aanlevert. Van de andere bronnen wordt dit alleen maar gebruikt om de gegevens te matchen. Dus als de hierboven genoemde foutieve data niet van de primaire bron komt, betekent dit dat die data, omdat er niet gematcht kan worden verworpen wordt. Daarom worden de ontbrekende programma 's op npo.nl 5 dagen van te voren gecorrigeerd door vpro.nl. Mijn collega controleert dit en past zo af en toe de voor bepaalde zenders geselecteerde "prime_source" aan. Zo hebben we enige tijd geleden voor de npo zenders de "prime_source" van npo.nl naar vpro.nl gezet. Alleen vpro.nl levert maar 5 dagen vooruit!
Dus samenvattend, hoe verder in de toekomst een listing is, hoe meer fouten er nog in zitten. In het algemeen is data tot 5 á 7 dagen in de toekomst bijna correct en vinden er voor de lopende dag nog kleine correcties plaats in met name de starttijden. De positieve uitzondering is rtl. Zij leveren sublieme primaire data aan vanaf het moment dat deze aan hun bekend is. Ik zou van hun deels al maanden van te voren data op kunnen halen.

from tvgrabpyapi.

hikavdh avatar hikavdh commented on September 25, 2024

De generieke "prime_source_order" is [2,4,10,12,7,3,5,1,9,6,8,11], waarbij voor de npo zenders vpro (7) naar het begin van deze lijst gaat. Dus zodra één van de bronnen met een hogere prioriteit [2,4,10,12,7,3,5] dan tvgids.tv (1) data heeft voor die zender en tijd, wordt de foutieve data van tvgids.tv genegeerd.

from tvgrabpyapi.

rsenden avatar rsenden commented on September 25, 2024

Gezien de logfiles ben ik er redelijk zeker van dat de informatie over 'La Vache' afkomstig was van tvgids.tv, en dat de gegevens van tvgids.tv in mijn tvguide.xml terecht kwamen doordat andere sources geen informatie hadden voor die dag/dat tijdstip.

Blijft de vraag waarom 'La Vache' in de gegenereerde tvguide.xml op 25-8 gepland stond in plaats van 24-8. Wellicht stond dit programma simpelweg verkeerd op tvgids.tv op het moment van ophalen, en was dit verbeterd op het moment dat ik dit handmatig controleerde. De cache zou dan kunnen verklaren waarom ik de verbeterde gegevens niet terugzag in tvguide.xml.

Er waren echter meerdere programma's, allen afkomstig van tvgids.tv, waarvan de datum exact 1 dag afweek. In tvguide.xml stond bijvoorbeeld 'Vlucht HS13' op 24-8 terwijl dat eigenlijk op 23-8 wordt uitgezonden. Dit versterkt mijn vermoeden dat er iets niet helemaal goed gaat bij het verwerken van gegevens van tvgids.tv door tvgrabpyAPI.

In eerste instantie dacht ik dat dit wellicht te maken had met het tijdstip van ophalen, en het tijdstip waarop de dagnummering wordt aangepast op tvgids.tv. Na aanpassen van het tijdstip van ophalen naar 8:30 zag ik echter geen verschil; dus ofwel het probleem wordt niet hierdoor veroorzaakt (zoals je zelf aangeeft vinden correcties en checks plaats om dit probleem te voorkomen), of de gegevens werden simpelweg niet bijgewerkt doordat ze reeds gecached waren.

Ik zie in source-tvgids.tv.json een regel "night-date-switch":6, staan, ik ga er vanuit dat hiermee bepaald wordt op welk tijdstip de dagnummering wordt aangepast op tvgids.tv. Zou het wellicht kunnen dat tvgids.tv dat tijdstip recent heeft aangepast, waardoor deze instelling niet meer juist is?

Verder heb ik toevalligerwijs alleen gekeken naar programma's die voor middernacht beginnen en na middernacht eindigen; ik weet dus niet zeker of dezelfde afwijking ook van toepassing was op andere programma's. Dus een andere mogelijke oorzaak is wellicht dat er iets fout gaat bij de berekening van begin- en eindtijd voor sources die geen eindtijd aangeven (zoals tvgids.tv), waardoor het programma per abuis op de volgende dag wordt geplaatst indien de oorspronkelijke eindtijd na middernacht is?

Helaas loop ik na het leeggooien van de programma-cache ondertussen tegen een ander probleem aan waardoor de betreffende programma's helemaal niet meer in tvguide.xml worden opgenomen; zie #33. Dat zal ik dus eerst moeten oplossen voordat ik hiermee verder kan testen.

from tvgrabpyapi.

hikavdh avatar hikavdh commented on September 25, 2024

Naar alle waarschijnlijkheid was er iets mis met de volgorde. Wanneer, bij een bron die starttijden zonder datum geeft, een programma in tijd eerder begint dan de vorige, wordt er vanuit gegaan dat middernacht gepasseerd is.

from tvgrabpyapi.

rsenden avatar rsenden commented on September 25, 2024

Om een of andere reden lukt het me nu niet meer om programma-informatie voor de NPO-zenders na de nacht van 21-8/22-8 op te halen.

Ik heb tijdelijk de Horizon-gids gedisabled naar aanleiding van #33 en omdat ik je commentaar op dat issue nog niet had gelezen; --disable-source resulteerde in een exceptie (waarschijnlijk doordat die source gerefereerd wordt in prime_source_order), dus ik heb tijdelijk netwerktoegang naar web-api-pepper.horizon.tv en web-api-salt.horizon.tv geblokkeerd.

Vervolgens de volledige configuratie gereset en nieuwe TV-gids binnengehaald:

  • Alle bestanden uit de .xmltv directory weggegooid behalve mijn .conf en .set files
  • /usr/local/bin/tv_grab_nl3.py --config-file ~hts/.xmltv/tv_grab_nl3_py.conf --configure gedraaid om de database opnieuw te creeeren
  • TvHeadEnd gestopt, ~hts/.hts/tvheadend/epgdb.v2 weggegooid, en TvHeadEnd herstart
  • Mijn getepg.sh script uitgevoerd om de nieuwe TV-gids binnen te halen

Bijgesloten zijn de log-file, conf-file, tvguide.xml en het getepg.sh script; enig idee waarom de programma-informatie van 22-8 en later niet meer wordt opgehaald van tvgids.tv of andere sources?

xmltv.zip

from tvgrabpyapi.

hikavdh avatar hikavdh commented on September 25, 2024

vpro.nl levert maar 5 dagen, npo.nl meer, maar is incompleet, tvgids.nl levert 4 dagen, van de overigen is horizon.nl het meest betrouwbaar. De data van de belgische bronnen is van één van de bovenstaande afgeleid en tvgids.tv levert veel data, maar is regelmatig slordig en/of foutief. Dus data voorbij 20-8 (5 dagen) is impliciet minder betrouwbaar.

from tvgrabpyapi.

rsenden avatar rsenden commented on September 25, 2024

Ik begrijp dat de data van tvgids.tv veel minder betrouwbaar is, maar dat verklaart niet waarom die data nu uberhaupt niet meer opgehaald wordt van tvgids.tv. Bijvoorbeeld 'La Vache' staat nu vermeld op https://www.tvgids.tv/zenders/nederland-2/8, maar is niet terug te vinden in de gegenereerde tvguide.xml... Enig idee waarom?

from tvgrabpyapi.

hikavdh avatar hikavdh commented on September 25, 2024

npo.nl kent alleen starttijden. Tenzij ik een mechanisme zou maken die de programmaduur uit de detail pagina kan halen, wat op dit moment niet mogelijk is en de runtime van een grab aanzienlijk zou verlengen, kan het programma uitsluitend afgaan op de starttijd van het volgende programma.
Het is bij de data van npo.nl simpelweg niet mogelijk een gat te herkennen! Het feit dat op npo.nl zo af en toe programma's ontbreken hebben wij nog niet zo heel lang geleden ontdekt. We hebben toen vpro.nl naar de prime_source positie gepromoveerd en misschien zouden we npo.nl verder in de default order naar achteren moeten plaatsen. In elk geval achter horizon.nl

from tvgrabpyapi.

rsenden avatar rsenden commented on September 25, 2024

Ik weet niet zeker wat npo.nl hier in dit geval mee te maken heeft, maar de opmerking over sources met alleen starttijden heeft wel iets meer duidelijkheid gegeven.

Het laatstbekende programma in mijn tvguide.xml op NPO2 was 'Nachtprogramma's', en volgens de logfile waren de gegevens afkomstig van primo.eu. Volgens de json-file is dit een source zonder volledige timings.

Tijdens de initiele fase en met een lege programma-database kan tv_grab_nl3.py hierdoor geen eindtijd bepalen voor deze zender, en worden er dus geen gegevens van andere sources met lagere prioriteit opgehaald.

In een latere fase wordt er wel een eindtijd voor dit programma bepaald (door ophalen van details of een fictieve eindtijd?) en als zodanig opgeslagen in de programmacache.

Bij een volgende run van tv_grab_nl3.py is er vanuit de cache opeens wel een eindtijd van het laatstbekende programma bekend, en op basis daarvan kunnen dan extra gegevens worden opgehaald van bronnen met lagere prioriteit.

Dus startende met een lege programma-database is het blijkbaar nodig om tv_grab_nl3.py tweemaal te draaien om een volledige gids te verkrijgen.

Die 2e run draait momenteel nog, maar volgens de logfile is ondertussen 'La Vache' (en een heleboel andere programma's van tvgids.tv) toegevoegd op de juiste datum: 2018-08-16 20:54:43 CEST: Added from tvgids.tv: 24 Aug 23:40 - 25 Aug 01:05: La Vache:--- Genre: Unknown.

Morgen alles nog maar eens herhalen nadat ik de toegang naar horizon.tv weer heb opengezet, in ieder geval heb ik weer een heleboel bijgeleerd over tv_grab_nl3.py :)

Bedankt voor je hulp tot nu toe!

from tvgrabpyapi.

rsenden avatar rsenden commented on September 25, 2024

Ondertussen heb ik nog een extra test gedaan; beide onderstaande testen waren met dezelfde configuratie en een lege programma-cache:

  • Op 16-8 rond 21:00 werden de gegevens van tvgids.tv door tv_grab_nl3.py met de juiste datum geladen

    • Bijvoorbeeld 'De maatschap' (begin en eind voor middernacht) en 'La Vache' (eind na middernacht) worden beiden correct vermeld op 24-8.
    • Deze programma's werden vermeld op https://www.tvgids.tv/zenders/nederland-2/8
  • Op 17-8 rond 01:00 worden de gegevens van tvgids.tv door tv_grab_nl3.py met de incorrecte datum geladen

    • Bijvoorbeeld 'De maatschap' en 'La Vache' beiden incorrect vermeld op 25-8.
    • Deze programma's worden op dit moment nog steeds vermeld op https://www.tvgids.tv/zenders/nederland-2/8; de dagovergang op tvgids.tv heeft dus nog niet plaatsgevonden.

Het lijkt er dus op dat tv_grab_nl3.py toch moeite heeft met het corrigeren van dagnummers tussen middernacht en de daadwerkelijke overgang op een nieuw dagnummer op de bronpagina's.

Zie bijgesloten log en tvguide.xml voor zowel de run van gisteravond (met correcte datum) en de run van vannacht (met incorrecte datum).
xmltv.zip

Er is een gemakkelijke work-around, namelijk simpelweg iets later op de dag de gegevens ophalen, echter het zou mooi zijn als dit issue opgelost kan worden.

from tvgrabpyapi.

hikavdh avatar hikavdh commented on September 25, 2024

OK, ik zie wat je bedoeld en het lijkt inderdaad een bug die optreedt tussen middernacht en het tijdstip dat zij naar de nieuwe dag overstappen of uiterlijk 6 uur.
Een paar maanden geleden kwam mijn collega met, naar ik nu denk, hetzelfde issue, maar ik kon het toen niet reproduceren. Ik haal zelf mijn data vanaf 10 over 5 op en ik denk niet dat ik dit nooit in mijn eigen data gezien heb. Tvgids.tv bepaald doorgaans niet de starttijden en ik test tvgids.tv doorgaans niet op die tijden. Op korte termijn kan ik alleen de "night-date-switch" op 0 zetten. Dit betekent dat totdat tvgids.tv zelf naar de nieuwe dag over gaat, al hun data verworpen wordt.

from tvgrabpyapi.

hikavdh avatar hikavdh commented on September 25, 2024

https://github.com/tvgrabbers/tvgrabpyAPI/releases/tag/beta-1.0.9-p20180829
and some more fixes

from tvgrabpyapi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.