diff --git a/searx/plugins/query_strings.py b/searx/plugins/query_strings.py new file mode 100644 index 000000000..af49405d5 --- /dev/null +++ b/searx/plugins/query_strings.py @@ -0,0 +1,23 @@ +import shlex, string + +name = "query strings" +description = 'adds site:, - and "" to searx' +default_on = True + +def on_result(request, search, result): + q = search.search_query.query + qs = shlex.split(q) + spitems = [x.lower() for x in qs if ' ' in x] + mitems = [x.lower() for x in qs if x.startswith('-')] + siteitems = [x.lower() for x in qs if x.startswith('site:')] + msiteitems = [x.lower() for x in qs if x.startswith('-site:')] + url, title, content = result["url"].lower(), result["title"].lower(), (result.get("content").lower() if result.get("content") else '') + if all(x not in title or content for x in spitems): + return False + if all(x in title or content for x in mitems): + return False + if all(x not in url for x in siteitems): + return False + if all(x in url for x in msiteitems): + return False + return True