first tyry to load skin from data/skin.xml and if this file is not found, use /usr...
[enigma2.git] / mytest.py
index 01db6e65c263e949306c3d56ef919a907b054a74..e944e3b3bb2163b4cbd9ecd8c4f7b42067b75e29 100644 (file)
--- a/mytest.py
+++ b/mytest.py
@@ -1,6 +1,7 @@
 from enigma import *
 from tools import *
 
+import traceback
 import Screens.InfoBar
 
 import sys
@@ -12,6 +13,7 @@ from Navigation import Navigation
 
 from skin import readSkin, applyAllAttributes
 
+
 # A screen is a function which instanciates all components of a screen into a temporary component.
 # Thus, the global stuff is a screen, too.
 # In a screen, components can either be instanciated from the class-tree, cloned (copied) or
@@ -94,7 +96,15 @@ class Session:
        
        def instantiateDialog(self, screen, *arguments):
                # create dialog
-               dlg = self.create(screen, arguments)
+               
+               try:
+                       dlg = self.create(screen, arguments)
+               except:
+                       print 'EXCEPTION IN DIALOG INIT CODE, ABORTING:'
+                       print '-'*60
+                       traceback.print_exc(file=sys.stdout)
+                       quitMainloop()
+                       print '-'*60
                
                # read skin data
                readSkin(dlg, None, dlg.skinName, self.desktop)
@@ -159,8 +169,21 @@ keymapparser.readKeymap()
 import skin
 skin.loadSkin(getDesktop())
 
+import Components.InputDevice
+Components.InputDevice.InitInputDevices()
+
+import Components.SetupDevices
+Components.SetupDevices.InitSetupDevices()
+
 # first, setup a screen
-runScreenTest()
+try:
+       runScreenTest()
+except:
+       print 'EXCEPTION IN PYTHON STARTUP CODE:'
+       print '-'*60
+       traceback.print_exc(file=sys.stdout)
+       quitMainloop()
+       print '-'*60
 
 # now, run the mainloop