self.elements = []
self.validFileTypes = ["skin", "config", "services", "favourites", "package"]
self.prerequisitesMet = prerequisiteMet
-
-
+
def printError(self, error):
print "Error in defaults xml files:", error
raise InfoHandlerParseError, error
def startElement(self, name, attrs):
- print name, ":", attrs.items()
+ #print name, ":", attrs.items()
self.elements.append(name)
if name in ["hardware", "bcastsystem", "satellite", "tag"]:
if not attrs.has_key("type"):
self.filetype = type
self.fileattrs = attrs
def endElement(self, name):
- print "end", name
- print "self.elements:", self.elements
+ #print "end", name
+ #print "self.elements:", self.elements
self.elements.pop()
if name == "file":
- print "prerequisites:", self.prerequisites
+ #print "prerequisites:", self.prerequisites
if len(self.prerequisites) == 0 or self.prerequisitesMet(self.prerequisites):
if not self.attributes.has_key(self.filetype):
self.attributes[self.filetype] = []
self.attributes["author"] = str(data)
if self.elements[-1] == "name":
self.attributes["name"] = str(data)
- print "characters", data
+ #print "characters", data
class DreamInfoHandler:
STATUS_WORKING = 0
self.console = eConsoleAppContainer()
self.console.appClosed.get().append(self.installNext)
+ self.reloadFavourites = False
self.statusCallback = statusCallback
self.setStatus(self.STATUS_INIT)
for package in self.packageslist[:]:
if not self.prerequisiteMet(package[0]["prerequisites"]):
self.packageslist.remove(package)
- return packages
+ return self.packageslist
def prerequisiteMet(self, prerequisites):
# TODO: we need to implement a hardware detection here...
if prerequisites.has_key("tag"):
if not self.neededTag in prerequisites["tag"]:
return False
+ else:
+ return False
if prerequisites.has_key("satellite"):
for sat in prerequisites["satellite"]:
if int(sat) not in nimmanager.getConfiguredSats():
- return False
+ return False
if prerequisites.has_key("bcastsystem"):
for bcastsystem in prerequisites["bcastsystem"]:
if nimmanager.hasNimType(bcastsystem):
self.statusCallback(self.status, None)
def installNext(self, *args, **kwargs):
+ if self.reloadFavourites:
+ self.reloadFavourites = False
+ db = eDVBDB.getInstance().reloadBouquets()
+
self.currentIndex += 1
attributes = self.installingAttributes
#print "attributes:", attributes
else:
print "increment meta index to install next package"
self.currentlyInstallingMetaIndex += 1
+ self.currentAttributeIndex = 0
self.installPackage(self.installIndexes[self.currentlyInstallingMetaIndex])
+ return
self.setStatus(self.STATUS_WORKING)
+ print "currentAttributeIndex:", self.currentAttributeIndex
currentAttribute = self.attributeNames[self.currentAttributeIndex]
print "installing", currentAttribute, "with index", self.currentIndex
def installFavourites(self, directory, name):
print "installing favourites:", directory, " - ", name
-
+ self.reloadFavourites = True
+
if self.blocking:
os.system("cp %s %s" % ((directory + name), resolveFilename(SCOPE_CONFIG)))
self.installNext()