on master help sign in
Merge pull request #663 from davidar/hoogle

Add Hoogle search engine

commitacfe843ecd038ee3518f2afcee68bfedf4366366 authorAdam Tauber <asciimoo@gmail.com> dateTue 16 Aug 2016, 10:36 (10 years ago) parent104cdb745120bc
4 files changed+15−3
searx/engines/json_engine.py+1−1 searx/engines/xpath.py+1−1 searx/results.py+1−1 searx/settings.yml+12
searx/engines/json_engine.py+1−1
@@ -81,7 +81,7 @@ def request(query, params):
8181
8282 fp = {'query': query}
8383 if paging and search_url.find('{pageno}') >= 0:
84− fp['pageno'] = (params['pageno'] + first_page_num - 1) * page_size
84+ fp['pageno'] = (params['pageno'] - 1) * page_size + first_page_num
8585
8686 params['url'] = search_url.format(**fp)
8787 params['query'] = query
searx/engines/xpath.py+1−1
@@ -87,7 +87,7 @@ def request(query, params):
8787
8888 fp = {'query': query}
8989 if paging and search_url.find('{pageno}') >= 0:
90− fp['pageno'] = (params['pageno'] + first_page_num - 1) * page_size
90+ fp['pageno'] = (params['pageno'] - 1) * page_size + first_page_num
9191
9292 params['url'] = search_url.format(**fp)
9393 params['query'] = query
searx/results.py+1−1
@@ -28,7 +28,7 @@ def compare_urls(url_a, url_b):
2828 else:
2929 host_b = url_b.netloc
3030
31− if host_a != host_b or url_a.query != url_b.query:
31+ if host_a != host_b or url_a.query != url_b.query or url_a.fragment != url_b.fragment:
3232 return False
3333
3434 # remove / from the end of the url if required
searx/settings.yml+12
@@ -281,6 +281,18 @@ engines:
281281 disabled : True
282282 shortcut : habr
283283
284+ - name : hoogle
285+ engine : json_engine
286+ paging : True
287+ search_url : https://www.haskell.org/hoogle/?mode=json&hoogle={query}&start={pageno}
288+ results_query : results
289+ url_query : location
290+ title_query : self
291+ content_query : docs
292+ page_size : 20
293+ categories : it
294+ shortcut : ho
295+
284296 - name : ina
285297 engine : ina
286298 shortcut : in