Exemple #1
0
    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')
Exemple #4
0
	def getTextAtPath (self, path):
		val = XmlRecord.getTextAtPath(self, path)
		return self.normalize_value(val)