Beiträge von ritzMo

    Also mir gegenüber gab es die Aussage nicht :winking_face:


    Ohne die Änderung (oder meine Variante) crasht es, sofern der String leer ist und es sich dabei um kein Tupel handelt.
    Meine Variante bricht zwar afair Kompatibilität mit py24, ist dafür aber Eindeutig und minimalst schneller.

    Ahh, der ominöse 1d8bd795e00ace3dde10b2ad5986a0593bc2c234 bzw ddef990f9a2b56ef9c63dda46d1b84c9438410c5 :winking_face:
    Der ist an mindestens so vielen Stellen broken wie seine Vorgänger.


    Da müsst ich mal die Devs für nerven, das geht viel eleganter und stabiler :grinning_squinting_face:




    Könntest du testen obs mit dem generator

    Code
    ret = [x if not isinstance(x, tuple) else x[0] for x in self.choices]


    für den LIST_TYPE_LIST-Fall in choicesList.__list__ und choicesList.__iter__ funktioniert – möglichst auch im restlichen Code von E2 nach Fehlern suchen, sollte sich aber so verhalten wie es der Vorgänger eigentlich sollte :smiling_face:

    Und bei mir noch immer nicht – ist die Welt nicht ungerecht :winking_face:


    Btw: eure crashes waren nicht gleich – sofern mir also keiner sagen kann wie das genau passiert, so dass ich das bei mir auch nachstellen kann, kann ich da nichts tun.
    Am besten auch noch die autotimer.xml anhängen.


    Bis jetzt sehe ich jeweils nur einen Crash im config Code von E2, allerdings dort auch in Code der ursprünglich mal von mir kam :grinning_squinting_face:

    Ganz einfach – lass es :smiling_face:


    Wieso nicht den einfachen Weg nehmen und die bereits existierende Resource nutzen?
    Hab die damals nach der Umstellung von web2 auf web zwar gefixt, aber wegen etwas reduziertem Funktionsumfang (afair kann der Originaldateiname nicht behalten werden) ist es nicht standardmäßig aktiviert.



    Einfach in der /usr/lib/enigma2/python/Plugins/Extensions/WebInterface/WebChilds/Toplevel.py die zwei Zeilen die den Uploader betreffen wieder ausführen (einmal der import in Zeile 12 und dann das hinzufügen der Resource in Zeile 33).
    Nach einem Neustart sollte das Skript unter /upload erreichbar sein.

    Erst einmal: es gibt nen Thread zum Plugin - bitte nutze doch den, das hilft mir sowas zu finden.


    Dann: Ungenau - bitte gibt doch an welche Sender das sind. Solltest du z.B. Pro7, SAT.1 & kabel eins in der Liste haben wird davon nur einer angezappt, da es dir keinen Vorteil bringt alle einzeln anzuzappen.
    Die letzte Änderung am Code des Plugins war übrigens Anfang Oktober und die hatte damit nichts zu tun...

    Das ist sicherlich auch wieder von Netz zu Netz anders...



    Ehrlich gesagt hab ich von dem ganzen Kram so ziemlich gar keine Ahnung - das Plugin schaltet nur um und versucht dabei noch ein wenig intelligent zu sein (quasi: wenn du zwei Sender gleichzeitig aufnehmen kannst, wird nur einer davon abgefragt).


    Und zum EPG gehört mehr als die Sendungen. Während diese durchaus schonmal "plötzlich" in der Liste landen, so hat man dann noch nicht zwangsläufig z.B. die erweiterte Beschreibung der Sendung.

    Recht einfach.
    Schau doch was importiert wird:

    Python
    from Components.ParentalControl import parentalControl


    Dann guckst du was das ist:

    Code
    parentalControl = ParentalControl()


    Daraus schließe: parentcalControl ist eine Instanz von ParentalControl und da diese nirgends überschrieben wird ist es immer dieselbe.


    - Nicht config- Werte nehmen um die letzten Werte zu speichern, sondern einfache integer..
    Frage: Es wird also nicht bei jedem Zugriff auf isServicePlayable eine neue Instanz der Klasse ParentalControl erzeugt ?


    Hier lohnt es sich den Code genauer zu lesen, aber ich kürze ab: es gibt nur eine Instanz.



    - Session- Key: Das hatte ich deshalb gemacht, weil es keinen Hook gibt, um sich an den Standby anzuhängen.. ich müsste also einen Timer laufen lassen, um Standby.inStandby zu überwachen...
    Oder aber: Ich müsste die Standby.py patchen.... Deshalb die Idee, einen Session- Key zu generieren... Damit muss ich nichts monitoren sondern kann beim Zugriff (also on demand) prüfen, ob ein Standby dazwischen war...


    Und wieder eine Frage die sich mit Lesen des Quelltextes ergeben hätte... aus der mytest:


    Ich denke die wenigsten interessieren sich dafür, wie oft enigma2 jetzt seit dem letzten Neustart im Standby war, aber das Configelement lässt sich eben auch wunderbar für den Callback nutzen :winking_face:



    - Temporäre variablen an Klasseninstanz binden... äh: hier steh ich auf dem Schlauch... Was meinst Du ?


    Da habe ich ungenau gelesen, muss ich wohl zugeben. Ich hab nicht gesehen, dass storeServicePin ausserhalb der getConfigValues genutzt wird. Aber wenn du ein Configelement auf Änderungen überwachen willst, nutz doch einfach einen Callback statt bei jedem Funktionsaufruf die Werte zu vergleichen - das spart Nerven und Ressourcen :grinning_squinting_face:



    - Die Speicherung des Wertes: Das habe ich -ohne nachzudenken- übernommen. Aber natürlich hast Du recht: Das direkt so zu speichern, wie ich es später brauche, ist natürlich sinnvoll... da war zu viel Respekt for fremdem Code da... deshalb heisst auch die "restart" - Variante nicht standby... ich wollte nicht einfach die Werte ändern (auch wenn das noch nicht verwendet wurde).


    Faustregel: Ist etwas ungenutzt kannst du es recht gefahrlos ändern, ist etwas schlecht gemacht kann man drüber diskutieren, ist etwas gut lass die Finger davon :smiling_face: