on master help sign in
Merge pull request #1923 from HLFH/master

Remove discontinued faroo engine

commitf18f94a8570f10421fc162fe8f338d97edc7d47b authorMarkus Heiser <markus.heiser@darmarIT.de> dateMon 20 Apr 2020, 12:51 (7 years ago) parent0b7e7ac9302d1f
2 files changed−101
searx/engines/faroo.py−96 searx/settings.yml−5
searx/engines/faroo.pydeleted−96
@@ -1,96 +0,0 @@
1−"""
2− Faroo (Web, News)
3−
4− @website http://www.faroo.com
5− @provide-api yes (http://www.faroo.com/hp/api/api.html), require API-key
6−
7− @using-api no
8− @results JSON
9− @stable yes
10− @parse url, title, content, publishedDate, img_src
11−"""
12−
13−from json import loads
14−import datetime
15−from searx.utils import searx_useragent
16−from searx.url_utils import urlencode
17−
18−# engine dependent config
19−categories = ['general', 'news']
20−paging = True
21−language_support = True
22−number_of_results = 10
23−
24−# search-url
25−url = 'http://www.faroo.com/'
26−search_url = url + 'instant.json?{query}'\
27− '&start={offset}'\
28− '&length={number_of_results}'\
29− '&l={language}'\
30− '&src={categorie}'\
31− '&i=false'\
32− '&c=false'
33−
34−search_category = {'general': 'web',
35− 'news': 'news'}
36−
37−
38−# do search-request
39−def request(query, params):
40− offset = (params['pageno'] - 1) * number_of_results + 1
41− categorie = search_category.get(params['category'], 'web')
42−
43− if params['language'] == 'all':
44− language = 'en'
45− else:
46− language = params['language'].split('-')[0]
47−
48− # if language is not supported, put it in english
49− if language != 'en' and\
50− language != 'de' and\
51− language != 'zh':
52− language = 'en'
53−
54− params['url'] = search_url.format(offset=offset,
55− number_of_results=number_of_results,
56− query=urlencode({'q': query}),
57− language=language,
58− categorie=categorie)
59−
60− params['headers']['Referer'] = url
61−
62− return params
63−
64−
65−# get response from search-request
66−def response(resp):
67− # HTTP-Code 429: rate limit exceeded
68− if resp.status_code == 429:
69− raise Exception("rate limit has been exceeded!")
70−
71− results = []
72−
73− search_res = loads(resp.text)
74−
75− # return empty array if there are no results
76− if not search_res.get('results', {}):
77− return []
78−
79− # parse results
80− for result in search_res['results']:
81− publishedDate = None
82− result_json = {'url': result['url'], 'title': result['title'],
83− 'content': result['kwic']}
84− if result['news']:
85− result_json['publishedDate'] = \
86− datetime.datetime.fromtimestamp(result['date'] / 1000.0)
87−
88− # append image result if image url is set
89− if result['iurl']:
90− result_json['template'] = 'videos.html'
91− result_json['thumbnail'] = result['iurl']
92−
93− results.append(result_json)
94−
95− # return results
96− return results
searx/settings.yml−5
@@ -219,11 +219,6 @@ engines:
219219 shortcut : et
220220 disabled : True
221221
222− - name : faroo
223− engine : faroo
224− shortcut : fa
225− disabled : True
226−
227222 - name : 1x
228223 engine : www1x
229224 shortcut : 1x