E2 Patch to avoid SkinErrors 0.6

  • Wenn Ihr auch schon an Plugins mitgewirkt oder selber veröffentlicht habt, dann kennt Ihr bestimmt folgenden Dialog :)


    User: Das Plugin verursacht einen GS. Trace ... SkinError
    Developer: Ja, im ersten Post steht Skin muss upgedated werden


    Der angehängte Patch, bietet eine Art Fallback:
    Kann der erste Skin nicht geladen werden, wird nach dem nächsten Skin gesucht und dieser dann verwendet.


    Damit sollte immer gewährleistet werden, dass die Plugins funktionieren, schliesslich liefert jeder Plugin-Entwickler auch einen funktionstüchtigen Skin mit.


    Und solche Fehlerreports sollten damit ein Ende haben:
    {aaa/skin.xml}: component with name 'bbb' was not found in skin of screen 'ccc'!
    {aaa/skin.xml}: unsupported attribute bbb=ccc


    Es sind nur ein paar Zeilen Code in der mytest.py und skin.py


    Der ursprüngliche Fehler wird nachwievor in der Shell ausgegeben:
    EXCEPTION IN DIALOG SKIN CODE:
    {aaa/skin.xml}: unsupported attribute bbb=ccc
    TRY NEXT SKIN:


    Getestet mit dem aktuellen DMM experimental und einer DM8000.


    Setup:
    Inhalt der Zip entpacken.
    Backup der original mytest.py und skin.py erstellen.
    Ihr findet sie unter:
    usr/lib/enigma2/python/
    mytest.py und skin.py ersetzen.
    Neustarten


    Bitte verteilt den Patch an alle Image-Bauer.


    Ihr dürft den Code frei verwenden.
    Ich würde mich freuen, wenn Verbesserungsvorschläge wieder zurückfliessen, schließlich sollen alle davon profitieren.


    Und eine Erwähnung in eurem Changelog wäre natürlich perfekt :)


    Von der E2 Mailing-List habe ich bisher keine Antwort erhalten.


    ChangeLog:
    0.1
    Stilles Fallback ohne Rückmeldung


    0.2
    Für jeden SkinError wird ein einmaliges PopUp mit entsprechender Meldung ausgegeben.
    Nach einem Neustart wird die Meldung wieder einmalig angezeigt.
    Wenn ein Plugin beim Booten gestartet wird, wird dort auch gleich das Popup angezeigt, auch wenn das Plugin zunächst gar nicht sichtbar ist.


    0.3
    MessageBox TimeOut auf 60 Sekunden gesetzt
    Grund:
    Wenn man das ElektroPowerSave-Plugin verwendet um die Dreambox jeden Tag zu starten, dann bleibt nach dem Booten auf dem Frontdisplay der SkinError stehn anstelle der Uhrzeit.


    0.4
    Patch ist jetzt kompatibel mit dem Serienfilm Plugin


    0.4.1
    BugFix: Syntaxfehler


    0.5
    Patch is jetzt kompatibel zu Enigma2 20111110 rel32


    0.6
    Sehr einfaches Logging "/tmp/skinerror.log" hinzugefügt


    Besucht auch meinen Blog: TecJunkie


    Buy me a beer ;)

  • ich würde die diskussion eher mit den dmm devs führen, der user wird immer sagen ja mach :)

  • Zitat

    Original von JackDaniel
    ich würde die diskussion eher mit den dmm devs führen, der user wird immer sagen ja mach :)


    ja, wenn ich mich richtig erinnere war/ist das volle Absicht von DMM


    glaub der Grund war dass die wollen das die Dinge auch wirklich gepflegt werden - und ein Crash leitet das schon eher einen Fix herbei als ein Fallback :)

  • Immerhin haben wir schon mal einen Dialog :)


    Du meinst im IRC.
    Da gab es eher eine ablehnende Meinung, ganz nach dem Motto:
    Wenn es einen GS gibt, weis man das es noch etwas zu tun gibt.
    Die Befürchtung war, die Skinner würden Ihre Skins nicht mehr aktuell halten.


    Der zweite Punkt war, wenn es im Hintergrund automatisch passiert, dann kommt immer die Frage, warum wird Plugin x nicht in Skin y dargestellt.


    Ich finde aber die positiven Aspekte überwiegen einfach, da meiner Erfahrung nach die meisten GS beim updaten von solchen Inkompatibilitäten kommen und durch den Patch, schliesst man diese Lücke und die User haben ein funktionierende Box.


    Das soll jetzt aber auf keinen Fall falsch verstanden werden, die Skinner liefern eine hervorragende Arbeit und es ist einfach nicht möglich den Skin für alle Plugins zeitnah aktuell zu halten, dazu sind die Plugins schon zu verstreut.

  • Zitat

    Original von betonme
    Ich finde aber die positiven Aspekte überwiegen einfach


    finde ich auch

  • und nun :face_with_rolling_eyes:
    ein fadenscheiniger einwand und das war es ?
    wenn gutemine wieder mal eine geistige flatulenz lässt/hat... :face_with_rolling_eyes:

  • Wenn ich als "einfacher" Benutzer von einem Greenscreen verschont bleibe, empfinde ich das immer als äußerst positiv.


    Wenn sich dann eventuell noch ein Hinweisfenster öffnet, das auf das Skin-Problem hinweist, dann ist das für mich auch ein Anreiz, den Skinner zu informieren.
    So finde ich das Problem schneller als mit einem Crashlog, welches ich erst noch interpretieren muss.....Eventuell kommt es so auch zu mehr Meldungen an der "richtigen Stelle" .

  • Zitat

    Original von JackDaniel
    und nun :face_with_rolling_eyes:
    ein fadenscheiniger einwand und das war es ?
    wenn gutemine wieder mal eine geistige flatulenz lässt/hat... :face_with_rolling_eyes:


    Der Unterschied zwischen mir und dem Rest der Welt ist dass ich es dann trotzdem mache wenn ich der Meinung bin die Welt hält das schon aus :)


    Dies aber nur als Anregung zu sehen ...

    2 Mal editiert, zuletzt von gutemine ()

  • Ich finde, als Plugin wäre es sehr hilfreich! Insbesondere mit der vorgeschlagenen Config Option "Show Errors as PopUp notification Yes / No". Das wäre optimal, weil Crashs vermieden werden, aber auf das Problem mit dem Skin aufmerksam gemacht wird.


    Wer lieber mit einem GS von seinem Skin-Problem erfahren möcht, muss das Plugin ja nicht installieren :smiling_face_with_horns:


    betonme: Wäre toll, wenn Du das machst!


    Gruß
    JuSt

    DM 8000 HD + ALPS BSBE2 Tuner
    HDD Western Digital WD10EVDS AV-GP 1TB
    DVD Sony AD 7690H
    Barry Allen Multiboot Konfiguration
    DMM Release 3.2.4 + GP3
    Images auf USB Stick

    Einmal editiert, zuletzt von JuSt611 ()

  • Hi zusammen,


    ich verstehe den Einwand von den DMM Devs schon. Wir Skinner werden dadurch ziemlich schnell auf Probleme mit unserem Skin aufmerksam.


    Doch jetzt das große ABER:


    Ich finde es aus User Sicht nicht gut, wenn meine Box wegen eines Skinfehlers während einer Aufnahme crashed. Kommt ja schon gelegendlich mal vor. Mit dem Plugin, oder einer generellen Änderung, hätte man eine Info an den User und die Box funktioniert trotzdem weiter und verhunzt keine Aufnahme.


    => Der Vorteil einer Änderung überwiegt.


    Wie können wir das DMM erklären? Gibt es dort schon einen Thread dazu?

    Viele Grüße,
    Oliver
    _________________________________________________
    Glücklicher Besitzer einer DM 8000 HD

  • Also ich würde es nicht als störend empfinden, wenn wegen jede Lackschadens am Auto die verdammte Scheisskarre den Motor abwürgt, oder die Holde wegen eines Schminkfehlers mit Greenface umkippt. *fg*

    Hilfe gesucht ? schau mal ins Gemini Project WIKI, auch unsere Video Tutorials sind für den Einstieg sehr empfehlenswert


    Nur wer die Weisheit mit Löffeln gefressen hat, kann auch klugscheißen. :klugscheiss:
    Alte asiatische Weisheit (wahrscheinlich Plagiat): Ohne Fleiß kein Scheiß. (Ich übernehme keine Garantie für Fehlerfreiheit der Übersetzung)
    "Alle großen Männer sind bescheiden." Gotthold Ephraim Lessing
    "Ich bin nur einsvierundsechzig"adenin
    "Es reicht nicht, Sachen falsch zu verstehen. Man muss sie richtig falsch verstehen."adenin
    "Friends: You Have 0 Friends"facebook

  • Zitat

    Original von betonme
    Kann der erste Skin nicht geladen werden, wird nach dem nächsten Skin gesucht und dieser dann verwendet.


    Wird hier nur der Skin für das jeweilige PlugIn geändert oder der komplette E2-Skin inkl. E2-Neustart? Konnte gerade kein PlugIn/Screen finden, wo es ein Fehler gibt um es zu testen...

  • Zitat

    Original von mmtux


    Wird hier nur der Skin für das jeweilige PlugIn geändert oder der komplette E2-Skin inkl. E2-Neustart? Konnte gerade kein PlugIn/Screen finden, wo es ein Fehler gibt um es zu testen...


    Es wird nur der Skin des Plugins/Screens geändert, nicht der gesamte.

  • Hallo, ich möchte mich mal bei betonme für diesen Patch bedanken! Wirklich grandios!


    Es läuft auf den Vu+ Boxen jetzt im neuem 4.0 VTI Image mit dem neuen 3.1.1 Kernel super und hat schon einige User vor Greenscreens bewahrt!


    Ganz grosses Tennis!
    :danke:

  • Zitat

    Original von betonme



    Setup:
    Inhalt der Zip entpacken:
    Backup der original mytest.py und skin.py erstellen
    mytest.py und skin.py ersetzen


    Sorry, aber wo finde ich die Dateien genau ?


    Edit habs:usr/lib/enigma2/python

    Einmal editiert, zuletzt von Cryptor ()