aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/Components')
-rw-r--r--lib/python/Components/config.py14
1 files changed, 13 insertions, 1 deletions
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