aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2010-11-15 18:50:23 +0100
committerghost <andreas.monzner@multimedia-labs.de>2010-11-15 18:50:23 +0100
commit95e2b1d28f81fbeb01e558286806887c556d7a98 (patch)
treee48492bdb306244c581500148dc31a92701e203f
parent7b6d2eb379b4409a602d40837fc938f78d8b54c9 (diff)
downloadenigma2-95e2b1d28f81fbeb01e558286806887c556d7a98.tar.gz
enigma2-95e2b1d28f81fbeb01e558286806887c556d7a98.zip
config.py: update configEntrys on additional loadFromFile
refs bug #617
-rwxr-xr-xlib/python/Components/config.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py
index d7506e31..44ad6d2a 100755
--- a/lib/python/Components/config.py
+++ b/lib/python/Components/config.py
@@ -1624,16 +1624,17 @@ class Config(ConfigSubsection):
self.pickle_this("config", self.saved_value, result)
return ''.join(result)
- def unpickle(self, lines):
+ def unpickle(self, lines, base_file=True):
tree = { }
for l in lines:
if not l or l[0] == '#':
continue
n = l.find('=')
+ name = l[:n]
val = l[n+1:].strip()
- names = l[:n].split('.')
+ names = name.split('.')
# if val.find(' ') != -1:
# val = val[:val.find(' ')]
@@ -1644,6 +1645,12 @@ class Config(ConfigSubsection):
base[names[-1]] = val
+ if not base_file: # not the initial config file..
+ #update config.x.y.value when exist
+ configEntry = eval(name)
+ if configEntry is not None:
+ configEntry.value = val
+
# we inherit from ConfigSubsection, so ...
#object.__setattr__(self, "saved_value", tree["config"])
if "config" in tree:
@@ -1655,9 +1662,9 @@ class Config(ConfigSubsection):
f.write(text)
f.close()
- def loadFromFile(self, filename):
+ def loadFromFile(self, filename, base_file=False):
f = open(filename, "r")
- self.unpickle(f.readlines())
+ self.unpickle(f.readlines(), base_file)
f.close()
config = Config()
@@ -1668,7 +1675,7 @@ class ConfigFile:
def load(self):
try:
- config.loadFromFile(self.CONFIG_FILE)
+ config.loadFromFile(self.CONFIG_FILE, True)
except IOError, e:
print "unable to load config (%s), assuming defaults..." % str(e)