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'])
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
 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