case-insensitive search for non-ASCII - improved

This commit is contained in:
unknown
2017-10-21 21:50:47 +02:00
parent d2ea3a6c19
commit 4a04ec898e
2 changed files with 40 additions and 34 deletions
+4 -1
View File
@@ -659,6 +659,7 @@ def feed_normal_search():
def feed_search(term):
if term:
db.session.connection().connection.connection.create_function("lower", 1, db.lcase)
entries = db.session.query(db.Books).filter(db.or_(db.Books.tags.any(db.Tags.name.ilike("%" + term + "%")),
db.Books.series.any(db.Series.name.ilike("%" + term + "%")),
db.Books.authors.any(db.Authors.name.ilike("%" + term + "%")),
@@ -1576,9 +1577,10 @@ def update():
@app.route("/search", methods=["GET"])
@login_required_if_no_ano
def search():
term = request.args.get("query").strip()
term = request.args.get("query").strip().lower()
if term:
db.session.connection().connection.connection.create_function("lower", 1, db.lcase)
entries = db.session.query(db.Books).filter(db.or_(db.Books.tags.any(db.Tags.name.ilike("%" + term + "%")),
db.Books.series.any(db.Series.name.ilike("%" + term + "%")),
db.Books.authors.any(db.Authors.name.ilike("%" + term + "%")),
@@ -1598,6 +1600,7 @@ def search():
@login_required_if_no_ano
def advanced_search():
if request.method == 'GET':
db.session.connection().connection.connection.create_function("lower", 1, db.lcase)
q = db.session.query(db.Books)
include_tag_inputs = request.args.getlist('include_tag')
exclude_tag_inputs = request.args.getlist('exclude_tag')