X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=keymapparser.py;h=fd5e1b195192071facf8309fb2a01ff1dd70f205;hp=5023e944f7bf2204af0a5dc61d0598e7a0640581;hb=da4e5045bfbe6faa22cd15f7bbb99cccd4f625de;hpb=9e824219ba124e3be84facb4cffc627f280bec48 diff --git a/keymapparser.py b/keymapparser.py index 5023e94..fd5e1b1 100644 --- a/keymapparser.py +++ b/keymapparser.py @@ -1,11 +1,18 @@ import enigma import xml.etree.cElementTree -from keyids import KEYIDS; +from keyids import KEYIDS # these are only informational (for help)... from Tools.KeyBindings import addKeyBinding +class KeymapError(Exception): + def __init__(self, message): + self.msg = message + + def __str__(self): + return self.msg + def parseKeys(context, filename, actionmap, device, keys): for x in keys.findall("key"): get_attr = x.attrib.get @@ -29,15 +36,15 @@ def parseKeys(context, filename, actionmap, device, keys): elif id[1] == 'd': keyid = int(id[2:]) | 0x8000 else: - raise "key id '" + str(id) + "' is neither hex nor dec" + raise KeymapError("key id '" + str(id) + "' is neither hex nor dec") else: try: keyid = KEYIDS[id] except: - raise "key id '" + str(id) + "' is illegal" + raise KeymapError("key id '" + str(id) + "' is illegal") # print context + "::" + mapto + " -> " + device + "." + hex(keyid) actionmap.bindKey(filename, device, keyid, flags, context, mapto) - addKeyBinding(filename, keyid, context, mapto, flags) + addKeyBinding(filename, keyid, context, mapto, flags, device) def readKeymap(filename): p = enigma.eActionMap.getInstance() @@ -48,7 +55,7 @@ def readKeymap(filename): try: dom = xml.etree.cElementTree.parse(source) except: - raise "keymap %s not well-formed." % filename + raise KeymapError("keymap %s not well-formed." % filename) keymap = dom.getroot()