X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FDreamInfoHandler.py;h=570143da2e5377ce2124741c575fd9b0234fb906;hb=7f219531682843b95e48bc51365718f4b5fb86da;hp=9753e42b2efb2f3dad5eb9a0d2209cedcba6ee3e;hpb=e2cb873547511511067f8eca6cd6b2e99133464d;p=vuplus_dvbapp diff --git a/lib/python/Components/DreamInfoHandler.py b/lib/python/Components/DreamInfoHandler.py index 9753e42..570143d 100644 --- a/lib/python/Components/DreamInfoHandler.py +++ b/lib/python/Components/DreamInfoHandler.py @@ -29,7 +29,7 @@ class InfoHandler(xml.sax.ContentHandler): 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"): @@ -63,11 +63,11 @@ class InfoHandler(xml.sax.ContentHandler): 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] = [] @@ -89,7 +89,7 @@ class InfoHandler(xml.sax.ContentHandler): 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 @@ -130,7 +130,13 @@ class DreamInfoHandler: # prerequisites = True: give only packages matching the prerequisites def fillPackagesList(self, prerequisites = True): self.packageslist = [] - packages = crawlDirectory(self.directory, ".*\.info$") + packages = [] + if not isinstance(self.directory, list): + self.directory = [self.directory] + + for directory in self.directory: + packages += crawlDirectory(directory, ".*\.info$") + for package in packages: self.readInfo(package[0] + "/", package[0] + "/" + package[1]) @@ -138,7 +144,7 @@ class DreamInfoHandler: 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... @@ -155,7 +161,7 @@ class DreamInfoHandler: 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):