diff --git a/database.py b/database.py index 40674905fdafbcf8a4dc1c694ec5e8c0e17e9d64..d409d6cde4410124173790660642e349c8abf5be 100644 --- a/database.py +++ b/database.py @@ -130,19 +130,17 @@ def get_doc(app, conn, source, id): # Search taxon: /search/taxon def search_taxon(app, conn, root, qps, name): - query = "SELECT taxonid \ - FROM taxon \ - WHERE " - if root != None: - query += "(path like '%/" + root + "/%' or taxonid='" + root + "') AND " + query = "SELECT taxonid FROM taxon WHERE " if qps in ("yes", "true"): query += "qps = 'yes' AND " if name != None: - query += "lower(name) ~'" + name + "'" + query += "lower(name) ~ '" + name + "' AND " + if root != None: + query += "(taxonid = '" + root + "' or path like '%/" + root + "/%')" query = re.sub('AND $', '', query) conn = get_db(app) if conn != None: - cursor = conn.cursor + cursor = conn.cursor() try: cursor.execute(query) except Exception as err: