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