From 40c7c611cfab3dfe403a041e4921805cb107adf4 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Sat, 17 Jun 2006 16:50:08 +0000 Subject: [PATCH] add some checks, use SkinError exception instead of string --- skin.py | 14 ++++++++++---- 1 file 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) -- 2.30.2