import frappe, os os.chdir('/home/frappe/frappe-bench') frappe.init('frontend', sites_path='/home/frappe/frappe-bench/sites') frappe.connect() ss = frappe.get_doc('Server Script', 'Address Autocomplete') ss.script = """ query = frappe.form_dict.get("q", "") if not query or len(query) < 3: frappe.response["results"] = [] else: words = query.strip().lower().split() conditions = [] for w in words: escaped = frappe.db.escape("%" + w + "%") conditions.append("search_text LIKE " + escaped) where = " AND ".join(conditions) sql = ("SELECT address_full, ville, code_postal, latitude, longitude " "FROM rqa_addresses " "WHERE " + where + " " "ORDER BY " "CASE WHEN code_postal LIKE 'J0L%' THEN 0 " "WHEN code_postal LIKE 'J0S%' THEN 1 ELSE 2 END, " "length(address_full) " "LIMIT 10") results = frappe.db.sql(sql, as_dict=True) frappe.response["results"] = results """ ss.save(ignore_permissions=True) frappe.db.commit() print('Updated: using frappe.db.escape, no params') frappe.destroy()