Changeset 1137


Ignore:
Timestamp:
07/06/06 20:01:41 (13 years ago)
Author:
lawrence
Message:

Bug fix for browse search with empty set return ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi/browseCGI.py

    r1110 r1137  
    153153                 
    154154                #this will do for the moment, although I'd rather the whole 
    155                 #URI was self consistent ... 
     155                #URI was self consistent using the request object. 
    156156                 
    157157                if 'select' in self.FieldStorage: 
     
    170170                    content,name=self.__search() 
    171171                else:  
    172                     content,name=self.error('No valid URI'),'Error' 
     172                    content,name=self.error('No URI or search string. Begin browsing via search box or pass a specific URI argument.'),'No URI' 
    173173 
    174174                if not self.ViewTextOnly: 
     
    236236            if 'SEARCHSTRING' in self.FieldStorage: 
    237237                searchString=self.FieldStorage['SEARCHSTRING'] 
     238                title='Search for '+searchString 
    238239                try: 
    239240                    ws=DiscoveryWS() 
    240241                except Exception, e: 
    241242                    return self.error('<p>%s<br/>%s'%(e,'Unable to connect to Search BackEnd')),'Error' 
    242                 hits=ws.SearchFullText(searchString) 
    243                 state=DiscoveryState(ws.sessID,self.requestURL,hits,stride=10) 
    244                 results=ws.GetResults(offset=state.offset,number=state.stride) 
     243                try: 
     244                    hits=ws.SearchFullText(searchString) 
     245                    state=DiscoveryState(ws.sessID,self.requestURL,hits,stride=10) 
     246                    results=ws.GetResults(offset=state.offset,number=state.stride) 
     247                except TypeError: 
     248                    # this is not what these web services should do, they should 
     249                    # return an empty set or something which matches the argument 
     250                    # list, but at least I think this traps the empty set. 
     251                    return self.error('No records found'),title 
    245252                difs=[] 
    246253                for result in results: difs.append(result) 
    247254                html=renderDiscoverySet(difs,state,selector=self.selector, 
    248255                               summary=1,spatial=1,temporal=1,services=1) 
    249                 title='Search for '+searchString 
     256                 
    250257                return html,title 
    251258            else: 
Note: See TracChangeset for help on using the changeset viewer.