Merge branch 'master' of git://git.opendreambox.org/git/enigma2
[vuplus_dvbapp] / lib / python / Components / config.py
index 3b61909..a6d3415 100755 (executable)
@@ -178,14 +178,14 @@ class choicesList(object): # XXX: we might want a better name for this
 
        def __list__(self):
                if self.type == choicesList.LIST_TYPE_LIST:
-                       ret = [isinstance(x, tuple) and x[0] or x for x in self.choices]
+                       ret = [not isinstance(x, tuple) and x or x[0] for x in self.choices]
                else:
                        ret = self.choices.keys()
                return ret or [""]
 
        def __iter__(self):
                if self.type == choicesList.LIST_TYPE_LIST:
-                       ret = [isinstance(x, tuple) and x[0] or x for x in self.choices]
+                       ret = [not isinstance(x, tuple) and x or x[0] for x in self.choices]
                else:
                        ret = self.choices
                return iter(ret or [""])
@@ -232,7 +232,7 @@ class choicesList(object): # XXX: we might want a better name for this
 class descriptionList(choicesList): # XXX: we might want a better name for this
        def __list__(self):
                if self.type == choicesList.LIST_TYPE_LIST:
-                       ret = [isinstance(x, tuple) and x[1] or x for x in self.choices]
+                       ret = [not isinstance(x, tuple) and x or x[1] for x in self.choices]
                else:
                        ret = self.choices.values()
                return ret or [""]
@@ -1385,7 +1385,7 @@ class ConfigLocations(ConfigElement):
 # nothing.
 class ConfigNothing(ConfigSelection):
        def __init__(self):
-               ConfigSelection.__init__(self, choices = [""])
+               ConfigSelection.__init__(self, choices = [("","")])
 
 # until here, 'saved_value' always had to be a *string*.
 # now, in ConfigSubsection, and only there, saved_value
@@ -1426,8 +1426,8 @@ class ConfigSubList(list, object):
 
        def getSavedValue(self):
                res = { }
-               for i in range(len(self)):
-                       sv = self[i].saved_value
+               for i, val in enumerate(self):
+                       sv = val.saved_value
                        if sv is not None:
                                res[str(i)] = sv
                return res
@@ -1448,7 +1448,7 @@ class ConfigSubList(list, object):
                        item.load()
 
        def dict(self):
-               return dict([(str(index), value) for index, value in self.enumerate()])
+               return dict([(str(index), value) for index, value in enumerate(self)])
 
 # same as ConfigSubList, just as a dictionary.
 # care must be taken that the 'key' has a proper