mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
fix paging issue with whoosh due to missing str to int conversion
This commit is contained in:
@@ -357,6 +357,10 @@ class RepositoriesController( BaseAPIController ):
|
||||
q = kwd.get( 'q', '' )
|
||||
if q:
|
||||
page = kwd.get( 'page', 1 )
|
||||
try:
|
||||
page = int( page )
|
||||
except ValueError:
|
||||
raise RequestParameterInvalidException( 'The "page" requested has to be an integer.' )
|
||||
return_jsonp = util.asbool( kwd.get( 'jsonp', False ) )
|
||||
callback = kwd.get( 'callback', 'callback' )
|
||||
search_results = self._search( trans, q, page )
|
||||
|
||||
@@ -46,6 +46,10 @@ class ToolsController( BaseAPIController ):
|
||||
raise NotImplemented( 'Listing of all the tools is not implemented. Provide parameter "q" to search instead.' )
|
||||
else:
|
||||
page = kwd.get( 'page', 1 )
|
||||
try:
|
||||
page = int( page )
|
||||
except ValueError:
|
||||
raise RequestParameterInvalidException( 'The "page" requested has to be an integer.' )
|
||||
return_jsonp = util.asbool( kwd.get( 'jsonp', False ) )
|
||||
callback = kwd.get( 'callback', 'callback' )
|
||||
search_results = self._search( trans, q, page )
|
||||
|
||||
@@ -3,6 +3,7 @@ import datetime
|
||||
from galaxy import exceptions
|
||||
from galaxy import eggs
|
||||
from galaxy.webapps.tool_shed import model
|
||||
from galaxy.exceptions import ObjectNotFound
|
||||
import logging
|
||||
log = logging.getLogger( __name__ )
|
||||
|
||||
@@ -100,7 +101,11 @@ class RepoSearch( object ):
|
||||
'repo_owner_username' ], schema = schema )
|
||||
|
||||
user_query = parser.parse( '*' + search_term + '*' )
|
||||
hits = searcher.search_page( user_query, page, pagelen = 10, terms = True )
|
||||
|
||||
try:
|
||||
hits = searcher.search_page( user_query, page, pagelen = 10, terms = True )
|
||||
except ValueError:
|
||||
raise ObjectNotFound( 'The requested page does not exist.' )
|
||||
|
||||
log.debug( 'searching for: #' + str( search_term ) )
|
||||
log.debug( 'total hits: ' + str( len( hits ) ) )
|
||||
|
||||
@@ -6,6 +6,7 @@ from galaxy import exceptions
|
||||
from galaxy import eggs
|
||||
from galaxy import web
|
||||
from galaxy.webapps.tool_shed import model
|
||||
from galaxy.exceptions import ObjectNotFound
|
||||
eggs.require( "Whoosh" )
|
||||
import whoosh.index
|
||||
from whoosh import scoring
|
||||
@@ -60,7 +61,11 @@ class ToolSearch( object ):
|
||||
'repo_owner_username' ], schema = tool_schema )
|
||||
|
||||
user_query = parser.parse( '*' + search_term + '*' )
|
||||
hits = searcher.search_page( user_query, page, pagelen = 10, terms = True )
|
||||
|
||||
try:
|
||||
hits = searcher.search_page( user_query, page, pagelen = 10, terms = True )
|
||||
except ValueError:
|
||||
raise ObjectNotFound( 'The requested page does not exist.' )
|
||||
|
||||
log.debug( 'searching tools for: #' + str( search_term ) )
|
||||
log.debug( 'total hits: ' + str( len( hits ) ) )
|
||||
|
||||
Reference in New Issue
Block a user