diff --git a/src/pisi-build.py b/src/pisi-build.py index c4492fcc..384d2422 100644 --- a/src/pisi-build.py +++ b/src/pisi-build.py @@ -19,10 +19,11 @@ class PisiBuild: def __init__(self, pspecfile): self.pspecfile = pspecfile pspec = SpecFile(pspecfile) + pspec.read() - self.packageName = pspec.getFirstChildText("PSPEC/Source/Name") + self.packageName = pspec.getFirstChildText("Source/Name") - archiveNode = pspec.getFirstNode("PSPEC/Source/Archive") + archiveNode = pspec.getFirstNode("Source/Archive") self.archiveUri = pspec.getNodeText(archiveNode).strip() self.archiveName = basename(self.archiveUri) self.archiveType = pspec.getNodeAttribute(archiveNode, "archType") diff --git a/src/pisiconfig.py b/src/pisiconfig.py index c107b4e0..8fba02a6 100644 --- a/src/pisiconfig.py +++ b/src/pisiconfig.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- db_dir = "/var/db/pisi/" -archives_dir = "/var/cache/pisi/archives" -build_dir = "/var/tmp/pisi/" +archives_dir = "/var/cache/pisi/archives/" +tmp_dir = "/var/tmp/pisi/" +build_dir = tmp_dir + "build/" diff --git a/src/specfile.py b/src/specfile.py index eb7ed6b1..4dce678c 100644 --- a/src/specfile.py +++ b/src/specfile.py @@ -6,15 +6,33 @@ class SpecFile: """SpecFile: A class for extracting specific information from a PSPEC file""" def __init__(self, specfile): - self.dom = xml.dom.minidom.parse(specfile) + self.filename = specfile + + def read(): + self.dom = xml.dom.minidom.parse(filename) + # fill in fields + + self.packageName = pspec.getFirstChildText("Source/Name") + + archiveNode = pspec.getFirstNode("Source/Archive") + self.archiveUri = pspec.getNodeText(archiveNode).strip() + self.archiveName = basename(self.archiveUri) + self.archiveType = pspec.getNodeAttribute(archiveNode, "archType") + self.archiveHash = pspec.getNodeAttribute(archiveNode, + "md5sum") + patchesnode = pspec.getFirstNode("Source/Patches") + + def write(outfn): + f = file(outfn, 'w') + xml.dom.minidom.writexml(f) def getNodes(self, nodepath): """getNodes function return nodes for given path of the node. - getNodes("PSPEC/Source/Name") - returns an array of Name tags in PSPEC/Source""" + getNodes("Source/Name") + returns a list of nodes in PSPEC/Source""" + nodepath = "PSPEC/" + nodepath nodeArray=nodepath.split('/') - # get DOM for top node nodelist = self.dom.getElementsByTagName(nodeArray[0]) # iterate over @@ -24,6 +42,7 @@ from a PSPEC file""" return nodelist def getFirstNode(self, nodepath): + nodepath = "PSPEC/" + nodepath try: return self.getNodes(nodepath)[0] except IndexError: @@ -40,6 +59,7 @@ from a PSPEC file""" return child.data def getFirstChildText(self, nodepath): + nodepath = "PSPEC/" + nodepath node = self.getFirstNode(nodepath) if not node: return None