From: Thorsten S Date: Fri, 3 Jan 2020 15:09:24 +0000 (+0100) Subject: ability to drop a searx X-Git-Url: https://git.aero2k.de/?a=commitdiff_plain;h=9c867e001bbde51587b8d49c589e2d1bfe15f924;p=urlbot-v3.git ability to drop a searx --- diff --git a/distbot/plugins/searx.py b/distbot/plugins/searx.py index 802d0ba..1f4cdbc 100644 --- a/distbot/plugins/searx.py +++ b/distbot/plugins/searx.py @@ -29,9 +29,9 @@ class RateLimitingError(HTTPError): class Searx(Worker): - binding_keys = ["nick.search.#"] + binding_keys = ["nick.search.#", "nick.next-searx"] description = "search the web (using searx)" - usage = "bot: search " + usage = "bot: search or bot: next-searx (to drop current searx engine)" search_list = [] @@ -100,18 +100,22 @@ class Searx(Worker): return [(r.get('content', ''), r['url'], url) for r in response['results']][0] def parse_body(self, msg): - - result = self.searx(' '.join(get_words(msg)[1:])) - if not result: - return Action(msg='Sorry, no results.') - else: - abstract, url, provider = result - - if len(abstract) > 150: - suffix = '…' + words = get_words(msg) + if words[1] == "next-searx": + searx_provider = self.search_list.pop(0) + return Action(msg='Ok. There goes {}'.format(searx_provider)) else: - suffix = '' - return Action(msg='{}{} ({}) - powered by {}'.format(abstract[:150], suffix, url, provider)) + result = self.searx(' '.join(words[1:])) + if not result: + return Action(msg='Sorry, no results.') + else: + abstract, url, provider = result + + if len(abstract) > 150: + suffix = '…' + else: + suffix = '' + return Action(msg='{}{} ({}) - powered by {}'.format(abstract[:150], suffix, url, provider)) ALL = [Searx]