git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VirtualKeyBoard: Add cz/sk layout (patch from Petr)to VirtualKeyBoard. Add possibilit...
[enigma2.git]
/
lib
/
python
/
Components
/
config.py
diff --git
a/lib/python/Components/config.py
b/lib/python/Components/config.py
index 1afd398ea1b6d5ed42202097f15a9806c87dbc8e..5507cae9493b23fcc5217416bda5a3404b85d186 100755
(executable)
--- a/
lib/python/Components/config.py
+++ b/
lib/python/Components/config.py
@@
-29,6
+29,7
@@
from time import localtime, strftime
class ConfigElement(object):
def __init__(self):
self.saved_value = None
class ConfigElement(object):
def __init__(self):
self.saved_value = None
+ self.save_forced = False
self.last_value = None
self.save_disabled = False
self.__notifiers = None
self.last_value = None
self.save_disabled = False
self.__notifiers = None
@@
-83,7
+84,7
@@
class ConfigElement(object):
# you need to override this if str(self.value) doesn't work
def save(self):
# you need to override this if str(self.value) doesn't work
def save(self):
- if self.save_disabled or
self.value == self.default
:
+ if self.save_disabled or
(self.value == self.default and not self.save_forced)
:
self.saved_value = None
else:
self.saved_value = self.tostring(self.value)
self.saved_value = None
else:
self.saved_value = self.tostring(self.value)
@@
-178,7
+179,7
@@
class choicesList(object): # XXX: we might want a better name for this
def __list__(self):
if self.type == choicesList.LIST_TYPE_LIST:
def __list__(self):
if self.type == choicesList.LIST_TYPE_LIST:
- ret = [not isinstance(x, tuple) and x or
len(x) > 0 and x[0] or len(x) == 0 and 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 [""]
else:
ret = self.choices.keys()
return ret or [""]
@@
-1623,16
+1624,17
@@
class Config(ConfigSubsection):
self.pickle_this("config", self.saved_value, result)
return ''.join(result)
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('=')
tree = { }
for l in lines:
if not l or l[0] == '#':
continue
n = l.find('=')
+ name = l[:n]
val = l[n+1:].strip()
val = l[n+1:].strip()
- names =
l[:n]
.split('.')
+ names =
name
.split('.')
# if val.find(' ') != -1:
# val = val[:val.find(' ')]
# if val.find(' ') != -1:
# val = val[:val.find(' ')]
@@
-1643,6
+1645,15
@@
class Config(ConfigSubsection):
base[names[-1]] = val
base[names[-1]] = val
+ if not base_file: # not the initial config file..
+ #update config.x.y.value when exist
+ try:
+ configEntry = eval(name)
+ if configEntry is not None:
+ configEntry.value = val
+ except (SyntaxError, KeyError):
+ pass
+
# we inherit from ConfigSubsection, so ...
#object.__setattr__(self, "saved_value", tree["config"])
if "config" in tree:
# we inherit from ConfigSubsection, so ...
#object.__setattr__(self, "saved_value", tree["config"])
if "config" in tree:
@@
-1650,13
+1661,16
@@
class Config(ConfigSubsection):
def saveToFile(self, filename):
text = self.pickle()
def saveToFile(self, filename):
text = self.pickle()
- f = open(filename, "w")
- f.write(text)
- f.close()
+ try:
+ f = open(filename, "w")
+ f.write(text)
+ f.close()
+ except IOError:
+ print "Config: Couldn't write %s" % filename
- def loadFromFile(self, filename):
+ def loadFromFile(self, filename
, base_file=False
):
f = open(filename, "r")
f = open(filename, "r")
- self.unpickle(f.readlines())
+ self.unpickle(f.readlines()
, base_file
)
f.close()
config = Config()
f.close()
config = Config()
@@
-1667,7
+1681,7
@@
class ConfigFile:
def load(self):
try:
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)
except IOError, e:
print "unable to load config (%s), assuming defaults..." % str(e)