projects
/
vuplus_dvbapp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- remove some comments
[vuplus_dvbapp]
/
lib
/
python
/
Components
/
DreamInfoHandler.py
diff --git
a/lib/python/Components/DreamInfoHandler.py
b/lib/python/Components/DreamInfoHandler.py
index
8e9a8a2
..
570143d
100644
(file)
--- 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):
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.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):
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":
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] = []
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)
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
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 = []
# 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])
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)
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...
def prerequisiteMet(self, prerequisites):
# TODO: we need to implement a hardware detection here...
@@
-149,9
+155,13
@@
class DreamInfoHandler:
return False
else:
if prerequisites.has_key("tag"):
return False
else:
if prerequisites.has_key("tag"):
- if self.neededTag in prerequisites["tag"]:
- return True
- return False
+ if not self.neededTag in prerequisites["tag"]:
+ return False
+
+ if prerequisites.has_key("satellite"):
+ for sat in prerequisites["satellite"]:
+ if int(sat) not in nimmanager.getConfiguredSats():
+ return False
if prerequisites.has_key("bcastsystem"):
for bcastsystem in prerequisites["bcastsystem"]:
if nimmanager.hasNimType(bcastsystem):
if prerequisites.has_key("bcastsystem"):
for bcastsystem in prerequisites["bcastsystem"]:
if nimmanager.hasNimType(bcastsystem):
@@
-193,10
+203,13
@@
class DreamInfoHandler:
#print "attributes:", attributes
if self.currentAttributeIndex >= len(self.attributeNames): # end of package reached
#print "attributes:", attributes
if self.currentAttributeIndex >= len(self.attributeNames): # end of package reached
+ print "end of package reached"
if self.currentlyInstallingMetaIndex is None or self.currentlyInstallingMetaIndex >= len(self.installIndexes) - 1:
if self.currentlyInstallingMetaIndex is None or self.currentlyInstallingMetaIndex >= len(self.installIndexes) - 1:
+ print "set status to DONE"
self.setStatus(self.STATUS_DONE)
return
else:
self.setStatus(self.STATUS_DONE)
return
else:
+ print "increment meta index to install next package"
self.currentlyInstallingMetaIndex += 1
self.installPackage(self.installIndexes[self.currentlyInstallingMetaIndex])
self.currentlyInstallingMetaIndex += 1
self.installPackage(self.installIndexes[self.currentlyInstallingMetaIndex])