X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/2e02d72e10207215592e4aeda8b1c5cf18f7115a..64b5a4111134ff98a5cb22e481508a2045ec9cd3:/skin.py diff --git a/skin.py b/skin.py index 0c5f3368..c8805f01 100644 --- a/skin.py +++ b/skin.py @@ -14,8 +14,6 @@ from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCO from Tools.Import import my_import from Tools.LoadPixmap import LoadPixmap -from Tools.XMLTools import mergeText - colorNames = dict() def dump(x, i=0): @@ -31,7 +29,7 @@ class SkinError(Exception): self.message = message def __str__(self): - return self.message + return "{%s}: %s" % (config.skin.primary_skin, self.message) dom_skins = [ ] @@ -144,23 +142,17 @@ def applySingleAttribute(guiObject, desktop, attrib, value, scale = ((1,1),(1,1) "blend": 2, }[value]) elif attrib == "orientation": # used by eSlider - if value in ("orHorizontal", "orLeftToRight"): - orientation = guiObject.orHorizontal - direction = guiObject.dirNormal - elif value in ("orVertical", "orTopToBottom"): - orientation = guiObject.orVertical - direction = guiObject.dirNormal - elif value == "orRightToLeft": - orientation = guiObject.orHorizontal - direction = guiObject.dirSwapped - elif value == "orBottomToTop": - orientation = guiObject.orVertical - direction = guiObject.dirSwapped - else: - print "orientation must be one of: orTopToBottom,orBottomToTop,orLeftToRight,orRightToLeft" - return - guiObject.setOrientation(orientation) - guiObject.setDirection(direction) + try: + guiObject.setOrientation(* + { "orVertical": (guiObject.orVertical, False), + "orTopToBottom": (guiObject.orVertical, False), + "orBottomToTop": (guiObject.orVertical, True), + "orHorizontal": (guiObject.orHorizontal, False), + "orLeftToRight": (guiObject.orHorizontal, False), + "orRightToLeft": (guiObject.orHorizontal, True), + }[value]) + except KeyError: + print "oprientation must be either orVertical or orHorizontal!" elif attrib == "valign": try: guiObject.setVAlign( @@ -280,7 +272,7 @@ def loadSingleSkinData(desktop, skin, path_prefix): colorNames[name] = parseColor(color) #print "Color:", name, color else: - raise ("need color and name, got %s %s" % (name, color)) + raise SkinError("need color and name, got %s %s" % (name, color)) for c in skin.findall("fonts"): for font in c.findall("font"): @@ -341,7 +333,7 @@ def loadSingleSkinData(desktop, skin, path_prefix): try: style.setColor(eWindowStyleSkinned.__dict__["col" + type], color) except: - raise ("Unknown color %s" % (type)) + raise SkinError("Unknown color %s" % (type)) #pass #print " color:", type, color @@ -480,13 +472,12 @@ def readSkin(screen, skin, names, desktop): ctype = converter.get('type') assert ctype, "'convert'-tag needs a 'type'-attribute" #print "Converter:", ctype - #parms = mergeText(converter.childNodes).strip() try: parms = converter.text.strip() except: parms = "" - #print "Params:", ctype - converter_class = my_import('.'.join(["Components", "Converter", ctype])).__dict__.get(ctype) + #print "Params:", parms + converter_class = my_import('.'.join(("Components", "Converter", ctype))).__dict__.get(ctype) c = None @@ -503,7 +494,7 @@ def readSkin(screen, skin, names, desktop): source = c - renderer_class = my_import('.'.join(["Components", "Renderer", wrender])).__dict__.get(wrender) + renderer_class = my_import('.'.join(("Components", "Renderer", wrender))).__dict__.get(wrender) renderer = renderer_class() # instantiate renderer