handle missing web search form values gracefully
This commit is contained in:
parent
59934bb10d
commit
fec4839bef
1 changed files with 11 additions and 10 deletions
|
|
@ -2630,10 +2630,10 @@ def search(environ, start=None, order=None):
|
|||
if 'terms' in form and form['terms'].value:
|
||||
terms = form['terms'].value
|
||||
terms = terms.strip()
|
||||
type = form['type'].value
|
||||
match = form['match'].value
|
||||
searchtype = form.getfirst('type', default='package')
|
||||
match = form.getfirst('match', default='glob')
|
||||
values['terms'] = terms
|
||||
values['type'] = type
|
||||
values['type'] = searchtype
|
||||
values['match'] = match
|
||||
|
||||
if match not in ('glob', 'regexp', 'exact'):
|
||||
|
|
@ -2647,14 +2647,15 @@ def search(environ, start=None, order=None):
|
|||
values['terms'] = ''
|
||||
return _genHTML(environ, 'search.html.j2')
|
||||
|
||||
infoURL = _infoURLs.get(type)
|
||||
infoURL = _infoURLs.get(searchtype)
|
||||
if not infoURL:
|
||||
raise koji.GenericError('unknown search type: %s' % type)
|
||||
raise koji.GenericError('unknown search type: %s' % searchtype)
|
||||
values['infoURL'] = infoURL
|
||||
order = order or _DEFAULT_SEARCH_ORDER.get(type, 'name')
|
||||
order = order or _DEFAULT_SEARCH_ORDER.get(searchtype, 'name')
|
||||
values['order'] = order
|
||||
|
||||
results = kojiweb.util.paginateMethod(server, values, 'search', args=(terms, type, match),
|
||||
results = kojiweb.util.paginateMethod(server, values, 'search',
|
||||
args=(terms, searchtype, match),
|
||||
start=start, dataName='results', prefix='result',
|
||||
order=order)
|
||||
if not start and len(results) == 1:
|
||||
|
|
@ -2662,12 +2663,12 @@ def search(environ, start=None, order=None):
|
|||
# (you're feeling lucky)
|
||||
_redirect(environ, infoURL % results[0])
|
||||
else:
|
||||
if type == 'maven':
|
||||
if searchtype == 'maven':
|
||||
typeLabel = 'Maven artifacts'
|
||||
elif type == 'win':
|
||||
elif searchtype == 'win':
|
||||
typeLabel = 'Windows artifacts'
|
||||
else:
|
||||
typeLabel = '%ss' % type
|
||||
typeLabel = '%ss' % searchtype
|
||||
values['typeLabel'] = typeLabel
|
||||
return _genHTML(environ, 'search.html.j2')
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue