def getResults(self, params): try: data = self.getData(params=params) except: print 'ERROR: %s' % sys.exc_info()[1] return # print 'DATA: %s' % data response = XmlRecord(xml=data) error = response.selectNodes(response.dom, 'OpenSkyWebService:error') if error: raise Exception, response.getTextAtPath('OpenSkyWebService:error') # Here's where we could ceck for error and raise Exception .. results_path = 'OpenSkyWebService:Search:results:result' results_els = response.selectNodes(response.dom, results_path) print '%d result elements found' % len(results_els) def getResult(node): return ModsRecord(xml=node.toxml()) return map(OSWSResult, results_els)
} if __name__ == '__main__': # for testing, create paths to metadata files. in the real thing we us # search results if 0: id = 'CCS-SAVED-DL-RESOURCE-KH-ASSESS-000-000-000-082' # assessment elif 1: id = 'CCS-SAVED-DL-RESOURCE-TASK-000-000-000-046' # nsdl_dc elif 1: id = 'CCS-SAVED-DL-RESOURCE-KH-TIPS-000-000-000-452' # dlese_anno path = os.path.join (getReorgUserContentRepo(), \ 'ccs_saved_resource/ccsselecteddlresources', \ id+'.xml') tmpRec = XmlRecord(path=path) savedXmlFormat = tmpRec.getTextAtPath('savedResource:savedXmlFormat') # recordXml = unicode (str(result.payload).decode('utf-8')) rec = savedRecordClasses[savedXmlFormat](xml=str(tmpRec)) nodes = rec.getUrlNodes() print '%d nodes found' % len(nodes) # print rec protectedFound = rec.hasProtectedUrl() print 'hasProtected: %s' % protectedFound protectedNodes = rec.getProtectedUrlNodes() print 'found %d protected nodes' % len(protectedNodes) rec.rewriteProtectedUrls() print rec
def getUserId (path): rec = XmlRecord(path=path) return rec.getTextAtPath('playList:userID')
def getTextAtPath (self, path): val = XmlRecord.getTextAtPath(self, path) return self.normalize_value(val)