aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-06-17 16:50:08 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-06-17 16:50:08 +0000
commit40c7c611cfab3dfe403a041e4921805cb107adf4 (patch)
tree369a0c32b8b3399aeb83c2d6de04710768dce332
parentee0903f520403c5e03caef287f813e7b062d05ab (diff)
downloadenigma2-40c7c611cfab3dfe403a041e4921805cb107adf4.tar.gz
enigma2-40c7c611cfab3dfe403a041e4921805cb107adf4.zip
add some checks, use SkinError exception instead of string
-rw-r--r--skin.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/skin.py b/skin.py
index a1ce50b3..30e8c720 100644
--- a/skin.py
+++ b/skin.py
@@ -18,6 +18,9 @@ def dump(x, i=0):
from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCOPE_FONTS
+class SkinError(str):
+ pass
+
dom_skins = [ ]
def loadSkin(name):
@@ -299,7 +302,7 @@ def readSkin(screen, skin, name, desktop):
try:
attributes = screen[wname].skinAttributes = [ ]
except:
- raise str("component with name '" + wname + "' was not found in skin of screen '" + name + "'!")
+ raise SkinError("component with name '" + wname + "' was not found in skin of screen '" + name + "'!")
# assert screen[wname] is not Source
@@ -309,10 +312,13 @@ def readSkin(screen, skin, name, desktop):
# get corresponding source
source = screen.get(wsource)
if source is None:
- raise str("source '" + wsource + "' was not found in screen '" + name + "'!")
+ raise SkinError("source '" + wsource + "' was not found in screen '" + name + "'!")
wrender = widget.getAttribute('render')
+ if not wrender:
+ raise SkinError("you must define a renderer with render= for source '%s'" % (wsource))
+
for converter in elementsWithTag(widget.childNodes, "convert"):
ctype = converter.getAttribute('type')
assert ctype
@@ -344,7 +350,7 @@ def readSkin(screen, skin, name, desktop):
if type == "onLayoutFinish":
screen.onLayoutFinish.append(code)
else:
- raise str("applet type '%s' unknown!" % type)
+ raise SkinError("applet type '%s' unknown!" % type)
continue
@@ -358,7 +364,7 @@ def readSkin(screen, skin, name, desktop):
elif widget.tagName == "ePixmap":
w.widget = ePixmap
else:
- raise str("unsupported stuff : %s" % widget.tagName)
+ raise SkinError("unsupported stuff : %s" % widget.tagName)
w.skinAttributes = [ ]
collectAttributes(w.skinAttributes, widget, skin_path_prefix)