From: Felix Domke Date: Wed, 1 Nov 2006 23:26:47 +0000 (+0000) Subject: fix resolve key for ConfigSubDict / ConfigSublist X-Git-Tag: 2.6.0~2785 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/d99a6064e796feff188a293c4b7cbc066c3401b1 fix resolve key for ConfigSubDict / ConfigSublist --- diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 4e467897..a3537889 100644 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -698,6 +698,12 @@ class ConfigSubList(list, object): item.saved_value = self.stored_values[i] item.load() + def dict(self): + res = dict() + for index in range(len(self)): + res[str(index)] = self[index] + return res + # same as ConfigSubList, just as a dictionary. # care must be taken that the 'key' has a proper # str() method, because it will be used in the config @@ -737,6 +743,9 @@ class ConfigSubDict(dict, object): item.saved_value = self.stored_values[str(key)] item.load() + def dict(self): + return self + # Like the classes above, just with a more "native" # syntax. # @@ -797,6 +806,9 @@ class ConfigSubsection(object): for x in self.content.items.values(): x.load() + def dict(self): + return self.content.items + # the root config object, which also can "pickle" (=serialize) # down the whole config tree. # @@ -878,7 +890,7 @@ class ConfigFile: def __resolveValue(self, pickles, cmap): if cmap.has_key(pickles[0]): if len(pickles) > 1: - return self.__resolveValue(pickles[1:], cmap[pickles[0]].content.items) + return self.__resolveValue(pickles[1:], cmap[pickles[0]].dict()) else: return str(cmap[pickles[0]].value) return None