E2OpenPlugins / e2openplugin-OpenWebif

GPL Web Interface for e2stabs
GNU General Public License v3.0
205 stars 226 forks source link

Wrong charset in EPGRefresh, saving changed list gives error, reading time not selectable #180

Closed Schimmelreiter closed 10 years ago

Schimmelreiter commented 10 years ago
  1. When trying to save a newly created EPGRefresh list, I get this error: image
  2. MDR Thüringen is shown as MDR ThÂ1/4ringen (alike), the ü gets replaced by two strange chars, typical UTF-8 misinterpreting.
  3. EPGRefresh allows to specify the amount of time to remain on each channel. This setting is not yet available in EPGRefresh inside the OpenWebif
jbleyel commented 10 years ago
  1. Das epgrefresh plugin ist wohl doch ein anderes was ich hab.
  2. das ü geht bei mir
  3. bei meinem Plugin geht das nicht.
jbleyel commented 10 years ago

Update..

  1. Die Zeit in Sekunden / bzw. Minuten die fehlt noch.
jbleyel commented 10 years ago

Schick mir mal die XML von /epgrefresh/get

Schimmelreiter commented 10 years ago

/epgrefresh/get: config.plugins.epgrefresh.enabled True config.plugins.epgrefresh.enablemessage False config.plugins.epgrefresh.begin 1409376600 config.plugins.epgrefresh.end 1409422500 config.plugins.epgrefresh.interval_seconds 120 config.plugins.epgrefresh.delay_standby 10 config.plugins.epgrefresh.inherit_autotimer False config.plugins.epgrefresh.afterevent False config.plugins.epgrefresh.force False config.plugins.epgrefresh.wakeup True config.plugins.epgrefresh.parse_autotimer never config.plugins.epgrefresh.lastscan 1409385808 config.plugins.epgrefresh.adapter record canDoBackgroundRefresh True hasAutoTimer True api_version 1.2

Schimmelreiter commented 10 years ago

config.plugins.epgrefresh.interval_seconds ist die gesuchte/fehlende Einstellung.

Bei 120 ist jede Pseudo-Aufnahme 120 Sekunden lang. Ich wollte meine EPGRefresh-Liste mal ausmisten, also alle Sender rausnehmen, deren EPG über andere Sender mit aktualisiert wird, und dafür die Verweildauer von 120 auf z.B. 240 erhöhen ... Lange Updates auf "zentralen" Sendern scheinen mehr zu bringen als hektisches Gezappe über jeden Sender einzeln.

jbleyel commented 10 years ago

Check this out -> https://github.com/E2OpenPlugins/e2openplugin-OpenWebif/commit/bb55b72019559a4d2975f19a8270faaa53b2e0a4

Schimmelreiter commented 10 years ago

No difference at all (Except that I can now set an interval): image

MDR Thüringen is still printed wrong and note the "EPGRefresh instance has no attribute 'parse_autotimer'" error.

Schimmelreiter commented 10 years ago

After hard removal of the autotimer feature inside the EPGRefresh interface (The two files you modified last), it now saves. So probably the "has_autotimer" detection is incorrect.

jbleyel commented 10 years ago

Sicher? In deiner XML von oben steht hasAutoTimer True. Dann werden die beiden Autotimer Felder angezeigt und auch gespeichert. Wenn da False steht, dann gibt es die beiden Felder nicht. Das sollte schon so passen.

Der Fehler mit parse_autotimer kommt vom EPGRefresh bei dir. Schau mal in deine EPGRefreshResource.py in Zeile 228. // elif key == "parse_autotimer": //

jbleyel commented 10 years ago

Thüringen pass bei mir: Welchen Browser nimmst du?

bildschirmfoto 2014-08-31 um 00 14 25

jbleyel commented 10 years ago

Schau bitte auch mal was bei dir in der plugin.py vom EPGRefresh in Zeile 47 steht. Da müsste die Liste der möglichen Werte für parse_autotimer stehen.

Schimmelreiter commented 10 years ago

Browser: Chrome Den Rest arbeite ich jetzt mal ab ...

Schimmelreiter commented 10 years ago

Zeile 47 von plugin.py: config.plugins.epgrefresh.parseautotimer = ConfigSelection(choices = [ ("always", ("Yes")), ("never", _("No")), ("bgonly", ("Background only")), ("askyes", ("Ask default Yes")), ("askno", ("Ask default No")), ], default = "never"

Schimmelreiter commented 10 years ago

Kannst Du mal bitte bei Dir MDR Thüringen HD mit der Alternative MDR Thüringen (SD) erstellen und mir dann sagen, in welchem Format die /etc/enigma2/alternatives.MDRThueringenHD.tv erzeugt wird, also ISO-8859-1, ISO-Schmeißdichweg, UTF-8 mit BOM, UTF-8 ohne BOM und ob sie überhaupt so heißt, oder z.B. alternatives.MDRThuringenHD.tv

Schimmelreiter commented 10 years ago

Ich hab das Encoding jetzt mal auf UTF-8 ohne BOM geändert, mal gucken, was passiert ...

Schimmelreiter commented 10 years ago

UTF-8 ohne BOM ist ok, auf der Box steht immer noch Thüringen (Stand es mit ISO-8859-1 auch schon), aber im EPGRefresh jetzt auch. Dafür fällt mir was anderes auf: Die Liste ist nach dem Neustart drastisch geschrumpft, alle Sender mit Alternativen sind aus der EPG-Refresh-Liste verschwunden. Die Liste darf demnach keine Alternativen enthalten, sondern sollte beim Zufügen einer Alternative entweder alle oder den ersten Sender aus dem "Unterbouquet" welches eine Alternative ja ist, eintragen.

jbleyel commented 10 years ago

Ich hab MDR Thüringen HD + MDR Thüringen (SD) als Alternative und ich hab keinen Fehler. Meine alternatives.mdr_th__ringen_hd.tv ist UTF-8 und sieht so aus.

NAME MDR Thüringen HD

SERVICE 1:0:19:2872:425:1:C00000:0:0:0:

SERVICE 1:0:1:6E46:431:1:C00000:0:0:0:

jbleyel commented 10 years ago

Das mit den Alternativen in der Liste, das funktioniert bei mir. Bei mit ist die Liste nach dem Neustart nicht kleiner.

Ich finde den Fehler mit dem parse_autotimer aber schlimmer. Weil nicht nachvollziehbar.

Schimmelreiter commented 10 years ago

Ich muß das mal etwas präzisieren: Die Sender mit Alternativen sind anscheinend immer noch drin, die EPGRefresh.xml sieht so aus:

<?xml version="1.0" ?>

1:134:1:0:0:0:0:0:0:0:FROM BOUQUET "alternatives.RTLHD.tv" ORDER BY bouquet 1:134:1:0:0:0:0:0:0:0:FROM BOUQUET "alternatives.RTLNITROHD.tv" ORDER BY bouquet 1:0:1:1B:1:85:C00000:0:0:0: ... Aber im Webif werden sie unter EPGRefresh nicht angezeigt ...
Schimmelreiter commented 10 years ago

Mist, github parsed die xml ... Hier mal grafisch, damit man z.B. auch sieht, daß " als & quot ; drinsteht: image

jbleyel commented 10 years ago

Bei mir ist in der xml Datei auf der Box auch quote drin. Wenn ich die xml über das webif hole /epgrefresh dann ist da aber ein " drin.

bildschirmfoto 2014-08-31 um 01 02 26

jbleyel commented 10 years ago

Ich glaube ich hab was gefunden. Warte mal wegen den alternativen.

Das Problem mit dem autotimer kannst du aber mal prüfen.

Schimmelreiter commented 10 years ago

Damit hätten wir den Fehler dann glaube ich auch eingekreist: Diese Sender mit Alternativen werden zwar abgespeichert, aber mit /epgrefresh werden sie nicht angezeigt.

Schimmelreiter commented 10 years ago

Bzgl. des autotimers habe ich den Verdacht, daß das Problem im verwendeten autotimer-Plugin von oe-a liegt. Jedenfalls werden bei mir die autotimer mehr als "oft genug" abgearbeitet, so daß diese Einstellung dort keinen Sinn machen würde, vielleicht ist sie deshalb unsauber entfernt ...

Schimmelreiter commented 10 years ago

Eigentlich wittere ich in diesem Fall beide Probleme im oe-a EPGRefresh ... https://github.com/oe-alliance/enigma2-plugins/tree/master/epgrefresh ... da ich ja bei Eingabe von box.ip/epgrefresh auch nur die unvollständige Liste präsentiert bekomme ...

jbleyel commented 10 years ago

Das EPGRefresh von oe-a ist relativ aktuell und der autotimer fehler dürfte da eigentlich nicht kommen. Der Unterschied zur schwerkraft Version ist überschaubar.

Allerdings kann es sein, das du eine ältere Version hast wie die von github. Entscheidend ist die EPGRefreshResource.py und die ist komplett identisch zu der von schwerkraft.

Schimmelreiter commented 10 years ago

Ich mache jeden Tag ein opkg update && opkg upgrade, allein schon wegen der vielen Veränderungen im OpenWebif :) Da ist also definitiv alles aktuell.

jbleyel commented 10 years ago

Dann schick mir mal deinen EPGRefresh Order von der Box. Ich brauche allerdings nur die EPGRefreshResource.py und die EPGRefresh.py Du kannst die auch auf gist legen.

Schimmelreiter commented 10 years ago

Das geht so leider nicht, weil auf der Box nur .pyo's liegen ...

jbleyel commented 10 years ago

Dann brauch ich die ipk oder den link wo die ipk liegt.

Schimmelreiter commented 10 years ago

Downloading http://feeds.mynonpublic.com/4.2/vuultimo/vuultimo/enigma2-plugin-extensions-epgrefresh_2.0+git5666+f1ef915-r5_vuultimo.ipk

jbleyel commented 10 years ago

Deine Version ist die hier -> https://github.com/oe-alliance/enigma2-plugins/tree/f1ef9156e373bfb36cbb9efa18f00891093161a4

UND DIE MUSS GEHEN. grrrrrr

Schimmelreiter commented 10 years ago

Sag ich ihr ... ;)

jbleyel commented 10 years ago

Vermutlich liegt es nicht am EPGRefresh sondern an was anderem

Schau mal hier --> https://gist.github.com/jbleyel/3dbe6afd7f8b2566df02

Schimmelreiter commented 10 years ago

Was soll mir das sagen?

Hier mal meine epgrefresh.xml: http://pastebin.com/36NErqa2

jbleyel commented 10 years ago

Und wie sieht die xml aus wenn du /epgrefresh im browser aufrufst

Schimmelreiter commented 10 years ago

1:134:1:0:0:0:0:0:0:0: 1:0:1:1B:1:85:C00000:0:0:0: RTL Crime 1:0:19:6A:E:85:C00000:0:0:0: Pro7 FUN HD 1:0:1:4460:453:1:C00000:0:0:0: SAT.1 Gold 1:0:1:125D:3F7:1:C00000:0:0:0: SAT.1 emotions 1:0:19:88:8:85:C00000:0:0:0: TNT Glitz HD 1:0:1:17:1:85:C00000:0:0:0: Sky Krimi 1:0:1:332D:45B:1:C00000:0:0:0: ORF III 1:0:1:33A7:3EB:1:C00000:0:0:0: ATV2 1:0:1:4E27:43A:1:C00000:0:0:0: PULS 4 Austria 1:0:1:38F:2134:13E:820000:0:0:0: SRF info

jbleyel commented 10 years ago

Genau so sieht deine auch bei mir aus. Allerdings fehlen bei mir die alternativen bouquets. Kann es sein, das evtl. eines der alternativen bei dir auf der Box fehlt?

Schimmelreiter commented 10 years ago

Du meinst, ob einer der Einträge verwaist wäre? Kann eigentlich nicht sein ...

Schimmelreiter commented 10 years ago

So, ich habe grad mal alle alternatives darauf überprüft, ob die dazugehörige alternates-Datei evtl. fehlt: Nein. Auch die Linux-Macke Groß-/Kleinschreibung habe ich beim Vergleich berücksichtigt.

Alle Alternativen existieren und heißen auch bis auf den einzelnen Buchstaben und Unterstrich genau so wie in der epgrefresh eingetragen.

Schimmelreiter commented 10 years ago

Ich mach jetzt mal einen anderen Ansatz: Ich habe EPGRefresh.xml jetzt wieder halb leer (Alle Alternativen verlustig) und versuche, sie über die Box zuzufügen. Was mir dabei schon aufgefallen ist: Es wurde ein Phantomsender ("Aktualisiere" ohne Sendername daneben) angezeigt.

jbleyel commented 10 years ago

Wo ist der Phantomsender, in der Datei oder im webif Result?

Schimmelreiter commented 10 years ago

Im Plugin ...

jbleyel commented 10 years ago

Bitte mal nur eine Alternative in die EPGrefresh.xml rein und keine anderen Einträge. !!! mit der GUI auf der Box und nicht mit dem webif. !!!

Dann die xml Datei auf pastebin und das result von /epgrefresh auch auf pastebin. !!! ich brauch die komplette xml Datei vom Browser.

Prüf mal das encoding von der xml auf der Box.

jbleyel commented 10 years ago

meine EPGrefresh.xml auf der Box ist UTF-8 und liegt hier /etc/enigma2/epgrefesh.xml

jbleyel commented 10 years ago

TEST script https://gist.github.com/jbleyel/0769edf91fe0e08c0772

Schimmelreiter commented 10 years ago

Resultat: http://pastebin.com/uMverez6

jbleyel commented 10 years ago

Ich bin sooooo doooof. Der Bug ist beim schwerkraft plugin auch.

https://github.com/oe-alliance/enigma2-plugins/blob/f1ef9156e373bfb36cbb9efa18f00891093161a4/epgrefresh/src/EPGRefresh.py#L121

Es gibt 2 Möglichkeiten. A) Bugfix B) Die Alternative auflösen und den 1. Sender speichern.

Schimmelreiter commented 10 years ago

Oder die Alternativen als das aufnehmen, was sie eigentlich sind (Bouquets)?

jbleyel commented 10 years ago

Das muss dann aber auch im plugin geändert werden. Für das EPGRefresh ist es ein channel und kein bouquet.