From 906ec89818be0154afb31a9d39da458bf14bbe4d Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Tue, 22 Dec 2015 23:15:20 +0100 Subject: [PATCH 1/3] [doc] @GreenLunar, @kvch, @gugod added to authors --- AUTHORS.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/AUTHORS.rst b/AUTHORS.rst index 3e719feea..632e7f090 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -38,3 +38,6 @@ generally made searx better: - Niklas Haas - @underr - Emmanuel Benazera +- @GreenLunar +- Noemi Vanyi +- Kang-min Liu From 371fc09b6f2afa9e4f0b3a367760c407615b8e53 Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Tue, 22 Dec 2015 23:21:12 +0100 Subject: [PATCH 2/3] [enh] version 0.8.1 --- CHANGELOG.rst | 21 +++++++++++++++++++++ searx/version.py | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f2c192d25..2e333f0c3 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,3 +1,23 @@ +0.8.1 2015.12.22 +================ + +- More efficient result parsing +- Rewritten google engine to prevent app crashes +- Other engine fixes/tweaks + + - Bing news + - Btdigg + - Gigablast + - Google images + - Startpage + + +News +~~~~ + +New documentation page is available: https://asciimoo.github.io/searx + + 0.8.0 2015.09.08 ================ @@ -44,6 +64,7 @@ News @dalf joined the maintainer "team" + 0.7.0 2015.02.03 ================ diff --git a/searx/version.py b/searx/version.py index ccf73ba19..21531799c 100644 --- a/searx/version.py +++ b/searx/version.py @@ -19,7 +19,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >. # version of searx VERSION_MAJOR = 0 VERSION_MINOR = 8 -VERSION_BUILD = 0 +VERSION_BUILD = 1 VERSION_STRING = "{0}.{1}.{2}".format(VERSION_MAJOR, VERSION_MINOR, From b9a9abe10d569f15755bf8a6833adc9f425a2b2d Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Wed, 23 Dec 2015 18:43:35 +0100 Subject: [PATCH 3/3] [enh] improve gigablast engine add language and safesearch support --- searx/engines/gigablast.py | 39 ++++++++++++++++++++------- searx/tests/engines/test_gigablast.py | 1 + 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/searx/engines/gigablast.py b/searx/engines/gigablast.py index 3fef102f4..bdc9601ac 100644 --- a/searx/engines/gigablast.py +++ b/searx/engines/gigablast.py @@ -19,11 +19,21 @@ from time import time # engine dependent config categories = ['general'] paging = True -number_of_results = 5 +number_of_results = 10 +language_support = True +safesearch = True -# search-url, invalid HTTPS certificate +# search-url base_url = 'https://gigablast.com/' -search_string = 'search?{query}&n={number_of_results}&s={offset}&format=xml&qh=0&rxiyd={rxiyd}&rand={rand}' +search_string = 'search?{query}'\ + '&n={number_of_results}'\ + '&s={offset}'\ + '&format=xml'\ + '&qh=0'\ + '&rxiyd={rxiyd}'\ + '&rand={rand}'\ + '&qlang={lang}'\ + '&ff={safesearch}' # specific xpath variables results_xpath = '//response//result' @@ -36,12 +46,23 @@ content_xpath = './/sum' def request(query, params): offset = (params['pageno'] - 1) * number_of_results - search_path = search_string.format( - query=urlencode({'q': query}), - offset=offset, - number_of_results=number_of_results, - rxiyd=randint(10000, 10000000), - rand=int(time())) + if params['language'] == 'all': + language = 'xx' + else: + language = params['language'][0:2] + + if params['safesearch'] >= 1: + safesearch = 1 + else: + safesearch = 0 + + search_path = search_string.format(query=urlencode({'q': query}), + offset=offset, + number_of_results=number_of_results, + rxiyd=randint(10000, 10000000), + rand=int(time()), + lang=language, + safesearch=safesearch) params['url'] = base_url + search_path diff --git a/searx/tests/engines/test_gigablast.py b/searx/tests/engines/test_gigablast.py index 38264913f..4ae0c51a9 100644 --- a/searx/tests/engines/test_gigablast.py +++ b/searx/tests/engines/test_gigablast.py @@ -10,6 +10,7 @@ class TestGigablastEngine(SearxTestCase): query = 'test_query' dicto = defaultdict(dict) dicto['pageno'] = 0 + dicto['language'] = 'all' params = gigablast.request(query, dicto) self.assertTrue('url' in params) self.assertTrue(query in params['url'])