def getIndexEntry(cls, doc, program): """ Return an classification index entry value @return: the index entry: value @rtype: object """ cats = IndexBase._XPathQuery(doc, queries['categories'], 'rawResult') categories=[] for cat in cats: categories.append(IndexBase._XPathQuery(cat, queries['categories_text'], 'valueString')) package = IndexBase._XPathQuery(doc, queries['package'], 'valueList') service_type = IndexBase._XPathQuery(doc, queries['service_type'], 'rawResult').capitalize()+'s' return {'package':package,'category':categories,'service_type':service_type}
def getIndexEntry(cls, doc, program): """ Return an description index entry value @return: the index entry: value @rtype: object """ return IndexBase._XPathQuery(doc, queries['description'])
def getIndexEntry(cls, doc, index): """ Return an search index entry value @return: the index entry: value @rtype: object """ head = IndexBase._XPathQuery(doc, queries['head'], 'rawResult')[0] fields = {} fields['name'] = IndexBase._XPathQuery(head, queries['name']) fields['title'] = IndexBase._XPathQuery(head, queries['title']) fields['description'] = IndexBase._XPathQuery(head, queries['description']) fields['categories'] = IndexBase._XPathQuery(head, \ queries['categories'], \ 'valueList') fields['comment'] = IndexBase._XPathQuery(head, queries['comment']) fields['authors'] = IndexBase._XPathQuery(head, queries['authors']) fields['references'] = IndexBase._XPathQuery(head, queries['references']) package = IndexBase._XPathQuery(head, queries['package'], 'rawResult') if package: package = package[0] fields['package name'] = IndexBase._XPathQuery(package, queries['name']) fields['package title'] = IndexBase._XPathQuery(package, queries['title']) fields['package description'] = IndexBase._XPathQuery(package, queries['description']) fields['package categories'] = IndexBase._XPathQuery(package, \ queries['categories'], \ 'valueList') fields['package comment'] = IndexBase._XPathQuery(package, queries['comment']) fields['package authors'] = IndexBase._XPathQuery(package, queries['authors']) fields['package references'] = IndexBase._XPathQuery(package, queries['references']) fields['parameter name'] = [] fields['parameter prompt'] = [] fields['parameter comment'] = [] fields['parameter bioTypes'] = [] fields['parameter class'] = [] pars = IndexBase._XPathQuery(doc, queries['parameter'], 'rawResult') for p in pars: fields['parameter name'].append(IndexBase._XPathQuery(p, queries['parameter_name'])) fields['parameter prompt'].append(IndexBase._XPathQuery(p, queries['parameter_prompt'])) fields['parameter comment'].append(IndexBase._XPathQuery(p, queries['parameter_comment'])) parType = IndexBase._XPathQuery(p, \ queries['parameter_type'], 'rawResult')[0] fields['parameter bioTypes'].append(IndexBase._XPathQuery(parType, \ queries['parameter_biotype'])) parDataType = IndexBase._XPathQuery(parType, \ queries['parameter_datatype'],\ 'rawResult')[0] fields['parameter class'].append(IndexBase._XPathQuery(parDataType, \ queries['parameter_class'])) fields['paragraphs'] = [] pars = IndexBase._XPathQuery(doc, queries['paragraph'], 'rawResult') fields['paragraph name'] = [] fields['paragraph prompt'] = [] fields['paragraph comment'] = [] for p in pars: fields['paragraph name'].append(IndexBase._XPathQuery(p, queries['paragraph_name'])) fields['paragraph prompt'].append(IndexBase._XPathQuery(p, queries['paragraph_prompt'])) fields['paragraph comment'].append(IndexBase._XPathQuery(p, queries['paragraph_comment'])) return fields
def getIndexEntry(cls, doc, program): """ Return an description index entry value @return: the index entry: value @rtype: object """ inputParameters=[] programName = IndexBase._XPathQuery(doc, queries['name']) programPID = programName if program.server.name != 'local': programName += '@'+program.server.name programPID = program.server.name + '.' + programPID programTitle = IndexBase._XPathQuery(doc, queries['title']) pars = IndexBase._XPathQuery(doc, queries['parameter'], 'rawResult') for p in pars: parameter = {} parameter['isInput'] = str(IndexBase._XPathQuery(p, \ queries['parameter_isinput'],\ 'rawResult')) parameter['name'] = IndexBase._XPathQuery(p, queries['parameter_name']) parameter['programName'] = programName parameter['programPID'] = programPID parameter['programTitle'] = programTitle parameter['prompt'] = IndexBase._XPathQuery(p, queries['parameter_prompt']) parType = IndexBase._XPathQuery(p, \ queries['parameter_type'], 'rawResult')[0] parameter['bioTypes'] = IndexBase._XPathQuery(parType, \ queries['parameter_biotype'],"valueList") parDataType = IndexBase._XPathQuery(parType, \ queries['parameter_datatype'],\ 'rawResult')[0] parameter['dataTypeClass'] = IndexBase._XPathQuery(parDataType, \ queries['parameter_class']) parameter['dataTypeSuperClass'] = IndexBase._XPathQuery(parDataType, \ queries['parameter_superclass']) parameter['dataTypeFormats'] = IndexBase._XPathQuery(parType, \ queries['parameter_dataformats'],"valueList") card = IndexBase._XPathQuery(parType, queries['parameter_cardinality']) mincard = 1 maxcard = 1 if card != '': card = card.split(',') mincard = card[0] if len(card) > 1: maxcard = card[1] else: maxcard = card[0] parameter['minCard'] = mincard parameter['maxCard'] = maxcard #parameter['id']=program.url+'|'+parameter['name'] for key, value in parameter.items(): if value == '': parameter[key]=None if parameter['isInput']=='True' and parameter['dataTypeClass'] not in nifdt: inputParameters.append(parameter) return inputParameters