T53161 simpification tips from sybren.

This commit is contained in:
Stephan preeker 2017-11-17 18:04:29 +01:00
parent 8b789d408e
commit 1bda98228c
2 changed files with 15 additions and 28 deletions

View File

@ -1,7 +1,8 @@
import logging import logging
from pillar import current_app
from elasticsearch_dsl.connections import connections from elasticsearch_dsl.connections import connections
from pillar import current_app
from . import documents from . import documents

View File

@ -19,57 +19,43 @@ blueprint_search = Blueprint('elksearch', __name__)
from . import queries from . import queries
def _valid_search() -> [str, str]: def _valid_search() -> str:
""" """
Validate search parameters Returns search parameters, raising error when missing.
""" """
searchword = request.args.get('q', '') searchword = request.args.get('q', '')
if not searchword: if not searchword:
return '', 'You are forgetting a "?q=whatareyoulookingfor"' raise wz_exceptions.BadRequest('You are forgetting a "?q=whatareyoulookingfor"')
return searchword
return searchword, ''
@blueprint_search.route('/', methods=['GET']) @blueprint_search.route('/')
def search_nodes(): def search_nodes():
searchword = _valid_search()
searchword, err = _valid_search()
if err:
return err
data = queries.do_search(searchword) data = queries.do_search(searchword)
return jsonify(data)
resp = Response(json.dumps(data), mimetype='application/json')
return resp
@blueprint_search.route('/user', methods=['GET']) @blueprint_search.route('/user')
def search_user(): def search_user():
searchword, err = _valid_search() searchword = _valid_search()
if err:
return err
data = queries.do_user_search(searchword) data = queries.do_user_search(searchword)
resp = Response(json.dumps(data), mimetype='application/json') return jsonify(data)
return resp
@blueprint_search.route('/admin/user')
@authorization.require_login(require_cap='admin') @authorization.require_login(require_cap='admin')
@blueprint_search.route('/admin/user', methods=['GET'])
def search_user_admin(): def search_user_admin():
""" """
User search over all fields. User search over all fields.
""" """
searchword, err = _valid_search() searchword = _valid_search()
if err:
return err
data = queries.do_user_search_admin(searchword) data = queries.do_user_search_admin(searchword)
resp = Response(json.dumps(data), mimetype='application/json') return jsonify(data)
return resp