def iterRepoItemFromXml(source): 'Used by thgrepo.relatedRepositories to scan the XML file' xr = QXmlStreamReader(source) while not xr.atEnd(): t = xr.readNext() if t == QXmlStreamReader.StartElement and xr.name() in ('repo', 'subrepo'): yield undumpObject(xr)
def readXml(source, rootElementName): itemread = None xr = QXmlStreamReader(source) if xr.readNextStartElement(): ele = str(xr.name().toString()) if ele != rootElementName: print "unexpected xml element '%s' "\ "(was looking for %s)" % (ele, rootElementName) return if xr.hasError(): print str(xr.errorString()) if xr.readNextStartElement(): itemread = undumpObject(xr) xr.skipCurrentElement() if xr.hasError(): print str(xr.errorString()) return itemread