From: ghost Date: Mon, 15 Nov 2010 17:50:23 +0000 (+0100) Subject: config.py: update configEntrys on additional loadFromFile X-Git-Tag: 3.0.1~2^2~2 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/95e2b1d28f81fbeb01e558286806887c556d7a98 config.py: update configEntrys on additional loadFromFile refs bug #617 --- 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)