aboutsummaryrefslogtreecommitdiff
path: root/skin.py
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-07-10 16:24:15 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-07-10 16:24:15 +0000
commit8e22df3af4a9ba076869de89f25b6f8adde29b49 (patch)
tree46db19e7d7f8c74a2772cec4dc981034c00a682f /skin.py
parent834bbf9162cfd90cd063e25aa45fc3c28fdee742 (diff)
downloadenigma2-8e22df3af4a9ba076869de89f25b6f8adde29b49.tar.gz
enigma2-8e22df3af4a9ba076869de89f25b6f8adde29b49.zip
add support for skin selector
Diffstat (limited to 'skin.py')
-rw-r--r--skin.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/skin.py b/skin.py
index 5a6408f3..1aced44c 100644
--- a/skin.py
+++ b/skin.py
@@ -4,6 +4,8 @@ from xml.dom import EMPTY_NAMESPACE
from Tools.Import import my_import
import os
+from Components.config import ConfigSubsection, configElement, configText, config
+
from Tools.XMLTools import elementsWithTag, mergeText
colorNames = dict()
@@ -44,7 +46,15 @@ def loadSkin(name):
# so the first screen found will be used.
# example: loadSkin("nemesis_greenline/skin.xml")
-loadSkin('skin.xml')
+config.skin = ConfigSubsection()
+config.skin.primary_skin = configElement("config.skin.primary_skin", configText, "skin.xml", 0)
+
+try:
+ loadSkin(config.skin.primary_skin.value)
+except SkinError, err:
+ print "SKIN ERROR:", err
+ print "defaulting to standard skin..."
+ loadSkin('skin.xml')
loadSkin('skin_default.xml')
def parsePosition(str):
@@ -325,7 +335,7 @@ def readSkin(screen, skin, name, desktop):
for converter in elementsWithTag(widget.childNodes, "convert"):
ctype = converter.getAttribute('type')
- assert ctype
+ assert ctype, "'convert'-tag needs a 'type'-attribute"
converter_class = my_import('.'.join(["Components", "Converter", ctype])).__dict__.get(ctype)
parms = mergeText(converter.childNodes).strip()
c = converter_class(parms)