diff --git a/popt/popt.pspec b/popt/popt.pspec
index 4cc19f07..6968f3ff 100644
--- a/popt/popt.pspec
+++ b/popt/popt.pspec
@@ -49,7 +49,7 @@
gettext
- /usr/lib/
+ /usr/lib
/usr/share/doc
/usr/share/man
/usr/share/locale
diff --git a/src/specfile.py b/src/specfile.py
index 9ceb5d2b..50fb366b 100644
--- a/src/specfile.py
+++ b/src/specfile.py
@@ -20,8 +20,15 @@ class DepInfo:
class PackageInfo:
def __init__(self, node):
- comps = getChildElts(node)
- self.name = comps[0]
+ self.name = getNodeText(getNode(node, "Name"))
+ self.summary = getNodeText(getNode(node, "Summary"))
+ self.description = getNodeText(getNode(node, "Description"))
+ self.category = getNodeText(getNode(node, "Category"))
+ iDepElts = getAllNodes(node, "InstallDependencies")
+ self.installDeps = [DepInfo(d) for d in iDepElts]
+ rtDepElts = getAllNodes(node, "RuntimeDependencies")
+ self.runtimeDeps = [DepInfo(d) for d in rtDepElts]
+
class SpecFile(XmlFile):
"""A class for reading/writing from/to a PSPEC (PISI SPEC) file."""
@@ -53,7 +60,9 @@ class SpecFile(XmlFile):
packageElts = self.getAllNodes("Package")
packages = [PackageInfo(p) for p in packageElts]
print packages
-
+ for x in packages:
+ print 'package', x.name
+
def verify(self):
"""Verify PSPEC structures, are they what we want of them?"""
return True
diff --git a/src/xmlfile.py b/src/xmlfile.py
index 11bd57f9..c55ff37b 100644
--- a/src/xmlfile.py
+++ b/src/xmlfile.py
@@ -54,13 +54,12 @@ def getNode(node, tagpath):
def getAllNodes(node, tags):
"""retrieve all nodes that match a given tag path."""
- print "tags = ", tags
if len(tags)==0:
- return None
+ return []
nodeList = node.getElementsByTagName(tags[0])
if len(nodeList)==0:
- return None
+ return []
for tag in tags[1:]:
results = map(lambda x: x.getElementsByTagName(tag),nodeList)
@@ -70,7 +69,7 @@ def getAllNodes(node, tags):
pass # emacs indentation error, keep it here
if len(nodeList)==0:
- return None
+ return []
return nodeList