aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2008-04-30 00:26:47 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2008-04-30 00:26:47 +0000
commitafdb23adeccba916f1b17a5e643a43bb1699a365 (patch)
treebc344de5163fe442c21e9d5a20f8789dab35bba2 /lib/python
parent417813b4955d2f48f708b3d114cab703bb5965f7 (diff)
downloadenigma2-afdb23adeccba916f1b17a5e643a43bb1699a365.tar.gz
enigma2-afdb23adeccba916f1b17a5e643a43bb1699a365.zip
use e2 functions to merge config and services
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/DreamInfoHandler.py89
-rw-r--r--lib/python/Components/config.py4
2 files changed, 11 insertions, 82 deletions
diff --git a/lib/python/Components/DreamInfoHandler.py b/lib/python/Components/DreamInfoHandler.py
index 3c014b8a..cc071607 100644
--- a/lib/python/Components/DreamInfoHandler.py
+++ b/lib/python/Components/DreamInfoHandler.py
@@ -2,7 +2,8 @@ import xml.sax
from Tools.Directories import crawlDirectory, resolveFilename, SCOPE_CONFIG, SCOPE_SKIN
from Components.NimManager import nimmanager
from Components.Ipkg import IpkgComponent
-from enigma import eConsoleAppContainer
+from Components.config import config, configfile
+from enigma import eConsoleAppContainer, eDVBDB
import os
class InfoHandlerParseError(Exception):
@@ -214,36 +215,10 @@ class DreamInfoHandler:
def mergeConfig(self, directory, name, merge = True):
print "merging config:", directory, " - ", name
-
- newconfig = self.readfile(directory + name)
- newconfig.sort()
- print newconfig
-
- if merge:
- oldconfig = self.readfile(resolveFilename(SCOPE_CONFIG) + "settings")
- oldconfig.sort()
- print oldconfig
- else:
- oldconfig = []
-
- # merge with duplicate removal through dictionary
- mergeddict = {}
- for list in oldconfig, newconfig:
- for entry in list:
- splitentry = entry.split("=")
- if len(splitentry) != 2: # wrong entry
- continue
- mergeddict[splitentry[0]] = splitentry[1].strip()
-
- print "new:"
- fd = open(resolveFilename(SCOPE_CONFIG) + "settings", "w")
- for entry in mergeddict.keys():
- print entry + "=" + mergeddict[entry]
- fd.write(entry + "=" + mergeddict[entry] + '\n')
- fd.close()
+ if os.path.isfile(directory + name):
+ config.loadFromFile(directory + name)
+ configfile.save()
self.installNext()
- #configfile.load()
-
def installIPK(self, directory, name):
self.ipkg = IpkgComponent()
@@ -264,59 +239,13 @@ class DreamInfoHandler:
print "execute failed"
self.installNext()
- def readServices(self, filename):
- newservicesfile = self.readfile(filename)
-
- transponders = []
- services = []
- status = 0 # 0 = start, 1 = transponders, 2 = services
- count = 0
- while count < len(newservicesfile):
- if status == 0:
- if newservicesfile[count].strip() == "transponders":
- status = 1
- elif status == 1: # reading transponders
- if newservicesfile[count].strip() == "end": # finished reading transponders
- pass
- elif newservicesfile[count].strip() == "services": # start of services section
- status = 2
- else:
- transponders.append(''.join(newservicesfile[count:count + 3]))
- count += 2
- elif status == 2: # reading services
- if newservicesfile[count].strip() == "end": # finished reading file
- break
- else:
- services.append(''.join(newservicesfile[count:count + 3]))
- count += 2
- count += 1
- return (transponders, services)
-
def mergeServices(self, directory, name, merge = False):
print "merging services:", directory, " - ", name
- newtransponders, newservices = self.readServices(directory + name)
- if merge:
- oldtransponders, oldservices = self.readServices(resolveFilename(SCOPE_CONFIG) + "lamedb")
- else:
- oldtransponders, oldservices = [], []
-
- fp = open(resolveFilename(SCOPE_CONFIG) + "lamedb", "w")
- fp.write("eDVB services /3/\n")
-
- fp.write("transponders\n")
- for transponderlist in oldtransponders, newtransponders:
- for transponder in transponderlist:
- fp.write(transponder)
- fp.write("end\n")
-
- fp.write("services\n")
- for serviceslist in oldservices, newservices:
- for service in serviceslist:
- fp.write(service)
- fp.write("end\n")
-
- fp.close()
+ db = eDVBDB.getInstance()
+ db.reloadServicelist()
+ db.loadServicelist(directory + name)
+ db.saveServicelist()
self.installNext()
def installFavourites(self, directory, name):
diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py
index 59fb7255..50103904 100644
--- a/lib/python/Components/config.py
+++ b/lib/python/Components/config.py
@@ -1005,10 +1005,10 @@ class ConfigSubsection(object):
values = dict(values)
self.content.stored_values = values
-
+
for (key, val) in self.content.items.items():
if key in values:
- val.setSavedValue(values[key])
+ val.saved_value = values[key]
saved_value = property(getSavedValue, setSavedValue)