aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2008-05-27 11:47:56 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2008-05-27 11:47:56 +0000
commit4081a2ebc826bf1559832cc2c034dc9e0a9f1a8d (patch)
tree4d52895b08ece92859a2be0e086a286f17b56fc3 /lib/python/Components
parentdc2fae0009c67e51c9e85e28693f47df8aa4b60c (diff)
downloadenigma2-4081a2ebc826bf1559832cc2c034dc9e0a9f1a8d.tar.gz
enigma2-4081a2ebc826bf1559832cc2c034dc9e0a9f1a8d.zip
add tagging to possible dream info handler prerequisites
Diffstat (limited to 'lib/python/Components')
-rw-r--r--lib/python/Components/DreamInfoHandler.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/lib/python/Components/DreamInfoHandler.py b/lib/python/Components/DreamInfoHandler.py
index 9878761d..8e9a8a27 100644
--- a/lib/python/Components/DreamInfoHandler.py
+++ b/lib/python/Components/DreamInfoHandler.py
@@ -31,7 +31,7 @@ class InfoHandler(xml.sax.ContentHandler):
def startElement(self, name, attrs):
print name, ":", attrs.items()
self.elements.append(name)
- if name in ["hardware", "bcastsystem", "satellite"]:
+ if name in ["hardware", "bcastsystem", "satellite", "tag"]:
if not attrs.has_key("type"):
self.printError(str(name) + " tag with no type attribute")
if self.elements[-3] == "default":
@@ -97,9 +97,11 @@ class DreamInfoHandler:
STATUS_ERROR = 2
STATUS_INIT = 4
- def __init__(self, statusCallback, blocking = False):
+ def __init__(self, statusCallback, blocking = False, neededTag = None):
self.directory = "/"
+ self.neededTag = neededTag
+
# caution: blocking should only be used, if further execution in enigma2 depends on the outcome of
# the installer!
self.blocking = blocking
@@ -142,6 +144,14 @@ class DreamInfoHandler:
# TODO: we need to implement a hardware detection here...
print "prerequisites:", prerequisites
met = True
+ if self.neededTag is None:
+ if prerequisites.has_key("tag"):
+ return False
+ else:
+ if prerequisites.has_key("tag"):
+ if self.neededTag in prerequisites["tag"]:
+ return True
+ return False
if prerequisites.has_key("bcastsystem"):
for bcastsystem in prerequisites["bcastsystem"]:
if nimmanager.hasNimType(bcastsystem):
@@ -271,11 +281,11 @@ class DreamInfoHandler:
def mergeServices(self, directory, name, merge = False):
print "merging services:", directory, " - ", name
-
- db = eDVBDB.getInstance()
- db.reloadServicelist()
- db.loadServicelist(directory + name)
- db.saveServicelist()
+ if os.path.isfile(directory + name):
+ db = eDVBDB.getInstance()
+ db.reloadServicelist()
+ db.loadServicelist(directory + name)
+ db.saveServicelist()
self.installNext()
def installFavourites(self, directory, name):