projects
/
vuplus_dvbapp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Components/Harddisc.py: fix handling for old devfs 7025 kernel
[vuplus_dvbapp]
/
lib
/
python
/
Components
/
config.py
diff --git
a/lib/python/Components/config.py
b/lib/python/Components/config.py
index
876e3a3
..
44ad6d2
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)
@@
-1034,13
+1035,13
@@
class ConfigSelectionNumber(ConfigSelection):
step += stepwidth
ConfigSelection.__init__(self, choices, default)
step += stepwidth
ConfigSelection.__init__(self, choices, default)
-
+
def getValue(self):
def getValue(self):
- return int(
self.text
)
+ return int(
ConfigSelection.getValue(self)
)
def setValue(self, val):
def setValue(self, val):
-
self.text = str(val
)
-
+
ConfigSelection.setValue(self, str(val)
)
+
def handleKey(self, key):
if not self.wraparound:
if key == KEY_RIGHT:
def handleKey(self, key):
if not self.wraparound:
if key == KEY_RIGHT:
@@
-1050,8
+1051,6
@@
class ConfigSelectionNumber(ConfigSelection):
if self.choices.index(self.value) == 0:
return
ConfigSelection.handleKey(self, key)
if self.choices.index(self.value) == 0:
return
ConfigSelection.handleKey(self, key)
-
-
class ConfigNumber(ConfigText):
def __init__(self, default = 0):
class ConfigNumber(ConfigText):
def __init__(self, default = 0):
@@
-1140,6
+1139,9
@@
class ConfigDirectory(ConfigText):
else:
return ConfigText.getMulti(self, selected)
else:
return ConfigText.getMulti(self, selected)
+ def onSelect(self, session):
+ self.allmarked = (self.value != "")
+
# a slider.
class ConfigSlider(ConfigElement):
def __init__(self, default = 0, increment = 1, limits = (0, 100)):
# a slider.
class ConfigSlider(ConfigElement):
def __init__(self, default = 0, increment = 1, limits = (0, 100)):
@@
-1622,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(' ')]
@@
-1642,6
+1645,12
@@
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
+ 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:
# we inherit from ConfigSubsection, so ...
#object.__setattr__(self, "saved_value", tree["config"])
if "config" in tree:
@@
-1653,9
+1662,9
@@
class Config(ConfigSubsection):
f.write(text)
f.close()
f.write(text)
f.close()
- 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()
@@
-1666,7
+1675,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)