Achtung: Bugs in Channelpedia-Kanälen - kaputte Kanäle

  • Hi,


    wo gehobelt wird, da fallen Späne!


    Zusammenfassung: Wenn Ihr in der letzten Woche Channelpedia genutzt habt und in Eurer channels.conf einen der beiden folgenden Strings findet, seid Ihr wahrscheinlich von den unten beschriebenen Bugs betroffen:

    Code
    :undefined:
    :S:


    Ich bastele im Hintergrund oft an dem PHP-Code von Channelpedia rum, um ihn zu verbessern. Dabei habe ich vor ein paar Tagen ein paar Bugs ein- und ausgebaut, denen ein paar von Euch vielleicht zum Opfer gefallen sind, wenn sie gerade zu der Zeit, wo die Bugs aktiv waren, Daten aus Channelpedia geholt haben.


    Es gibt hier zwei Wege zu unterscheiden, Daten aus Channelpedia zu "holen". Für beide Wege gab es in den letzten Tagen Bugs:


    1) Copy'n'paste von HTML-Seiten
    Hier kopiert man von einer der Seiten unter http://channelpedia.yavdr.com/gen Kanäle und arbeitet direkt am "Quellcode" der eigenen channels.conf


    Die Satelliten-Quellen enthalten im Kanalstring jeweils den Code für die Sat-Position, z. B. "S19.2E" (so wie in der sources.conf von VDR genannt). Dieser String wurde fälschlicherweise abgeschnitten zu "S", und zwar für jegliche Satellitenposition. Beispiel (erst richtig, dann falsch):

    Code
    Das Erste HD;ARD:11361:HC23M5O35S1:S19.2E:22000:6010=27:6020=deu@3,6021=mis@3;6022=deu@106:6030;6031=deu:0:11100:1:1011:0
    Das Erste HD;ARD:11361:HC23M5O35S1:S:22000:6010=27:6020=deu@3,6021=mis@3;6022=deu@106:6030;6031=deu:0:11100:1:1011:0


    Man kann in der eigenen channels.conf nach

    Code
    :S:

    suchen, um zu schauen, ob man von dem Problem betroffen ist. Wenn man nur eine einzige Sat-Position empfängt, kann man dieses Problem schnell durch Find'n'Replace beheben. Dieses Problem bestand auch in den generierten channelmaps für *2vdr. Es bestand wahrscheinlich maximal ein bis zwei Tage innerhalb der letzten Woche, deshalb ist die Wahrscheinlichkeit gering, das man sich das "eingefangen" hat.


    2) Channelpedia-Kanäle per Mausklick über Web-Frontend holen


    Hier werden die Daten vom yaVDR-Web-Frontend im JSON-Format über die REST-Schnittstelle von Channelpedia abgefragt. Im JSON-Quellcode wird pro Kanal für die Kanal-Parameter ein Feld namens "modulation" erwartet, welches seit dem Auftreten des Bugs nicht mehr unter diesem Namen enthalten war, weil ich es zum richtigeren Namen "parameter" umbenannt hatte. Die Kanäle kommen dann im WFE an, das WFE schaut aber nach "modulation", und findet nichts in der JSON-Struktur. Dieser Bug bezieht sich nicht nur auf Satelliten-Positionen, sondern auch auf DVB-C und DVB-T.


    Das Problem betrifft Euch wahrscheinlich, wenn Ihr zwischen Nikolaus und heute (also in der letzten Woche) Kanäle aus der Channelpedia hinzugefügt habt. Wer schauen will, ob er betroffen ist, sollte in seiner channels.conf nach ":undefined:" suchen, das jeweils auf den Frequenz-Wert folgt.


    Beispiel (erst richtig, dann falsch):

    Code
    Das Erste HD;ARD:11361:HC23M5O35S1:S19.2E:22000:6010=27:6020=deu@3,6021=mis@3;6022=deu@106:6030;6031=deu:0:11100:1:1011:0
    Das Erste HD;ARD:11361:undefined:S19.2:22000:6010=27:6020=deu@3,6021=mis@3;6022=deu@106:6030;6031=deu:0:11100:1:1011:0


    Das Problem habe ich eben durch einen Workaround in der Channelpedia behoben. Das Feld "modulation" ist nun für's Erste wieder vorhanden als Kopie des Feldes "parameter". Dadurch werden aber die schon vorhandenen fehlerhaften Kanäle in Eurer channels.conf nicht automatisch repariert.


    Am besten die kaputten Kanäle aus der channels.conf löschen, speichern, und danach über Channelpedia wieder neu einfügen.


    Bevor ich noch mehr dazu schreibe (was sich nicht verhindern lassen wird), lasse ich Euch das erstmal verdauen. :D


    Gruß
    hepi

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!