support optional return code
[enigma2.git] / lib / python / Components / ActionMap.py
index a6f5eb9c9773743861bb45995c549f965208ae16..d2e908e610fe1bc2a0e805db182d404b0c412206 100644 (file)
@@ -44,17 +44,24 @@ class ActionMap:
        def action(self, context, action):
                print " ".join(("action -> ", context, action))
                if self.actions.has_key(action):
-                       self.actions[action]()
+                       res = self.actions[action]()
+                       if res is not None:
+                               return res
                        return 1
                else:
                        print "unknown action %s/%s! typo in keymap?" % (context, action)
                        return 0
 
+       def destroy(self):
+               pass
+
 class NumberActionMap(ActionMap):
        def action(self, contexts, action):
                numbers = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
                if (action in numbers and self.actions.has_key(action)):
-                       self.actions[action](int(action))
+                       res = self.actions[action](int(action))
+                       if res is not None:
+                               return res
                        return 1
                else:
                        return ActionMap.action(self, contexts, action)