Commit graph

868 commits

Author SHA1 Message Date
Noémi Ványi
25b48143ea fix findx engine 2018-04-21 20:02:52 +02:00
Marc Abonce Seguin
f7f9c50393 [fix] force English results in Google when using en-US 2018-04-18 23:29:48 -05:00
Marc Abonce Seguin
b12857a70d [fix] make search requests on wikidata more accurate 2018-04-08 21:17:00 -05:00
Marc Abonce Seguin
835d1edd58 [fix] google news xpath 2018-04-08 20:56:05 -05:00
Marc Abonce Seguin
343e555ee9 [fix] append http if no scheme is provided in xpath's extact_url
This solves a bug with Yahoo where some results don't specify
a protocol.
2018-04-08 20:35:34 -05:00
Adam Tauber
283f6c9053
Merge pull request #1252 from MarcAbonce/search-languages
[mod] Refactor engine's search language handling
2018-04-05 17:27:07 +02:00
Marc Abonce Seguin
772c048d01 refactor engine's search language handling
Add match_language function in utils to match any user given
language code with a list of engine's supported languages.

Also add language_aliases dict on each engine to translate
standard language codes into the custom codes used by the engine.
2018-03-27 00:08:03 -06:00
Noémi Ványi
8cc529e9a3 forward category to engine without highlighting on the ui 2018-03-22 11:02:24 +01:00
Noémi Ványi
d04e471ce5 add findx engine for general, images and videos 2018-03-22 10:02:37 +01:00
Marc Abonce Seguin
d1eae9359f fix fetch_langauges to be more accurate
Add languages supported by either all default general engines or 10 engines.
2018-03-20 17:58:20 -06:00
Marc Abonce Seguin
216716db70 [fix] change duckduckgo url to avoid error response 2018-03-14 23:18:42 -06:00
Adam Tauber
03d7a8f065 [fix] pep8 2018-02-18 23:24:59 +01:00
Adam Tauber
b4c657d227 [enh] add asksteem engine - closes #1163 2018-02-18 22:42:32 +01:00
Noémi Ványi
988cf38196 fix Microsoft Academic engine 2018-02-17 21:39:49 +01:00
Adam Tauber
2f69eaeb2f [fix] fix engine initialization 2018-02-17 14:30:06 +01:00
Noémi Ványi
c645915171 fix bing videos engine 2018-02-10 19:44:07 +01:00
Marc Abonce Seguin
829032f306 [fix] read utf-8 files (settings, languages, currency) with python3.5
Related to discussion in #1124
The io.open import is necessary for python2
2018-01-16 23:26:10 -06:00
Adam Tauber
8511e64f35
Merge pull request #1124 from JosephKiranBabu/python3-unicode-support
Make Python 3 able to read settings files with Unicode characters
2018-01-12 10:58:23 +01:00
Noémi Ványi
f3aa5ea47d fix yacy result url
Closes #1064
2018-01-06 14:52:14 +01:00
Joseph Nuthalapati
bdc803e185
Make Python 3 able to read settings files with Unicode characters
SearX currently doesn't start up when run with Python 3 as it tries to parse the
settings.yml file with ASCII codecs.
There are similar problems with engines_languages.json and currencies.json
Python 3 requires that files with Unicode characters be read with a 'b' flag.
This also works with Python 2 and hence can be integrated into the main source
code.

Tested with the latest Python 3.6.4rc1 on Debian unstable.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2017-12-21 17:33:19 +05:30
Noémi Ványi
2d5eed9b59 send constant cookie with query to Google 2017-12-18 21:38:52 +01:00
Adam Tauber
7752b0a807 [fix] gigablast url parameter change - fixes #1107 2017-12-09 21:00:08 +01:00
marc
4d1770398a remove 'all' option from search languages 2017-12-06 01:20:15 -06:00
Adam Tauber
1613c6319e [fix] handle /sorry redirects 2017-12-05 20:38:34 +01:00
Adam Tauber
1088c2a75d [fix] do not crash if publication date is missing in pubmed engine 2017-12-01 20:54:12 +01:00
Adam Tauber
801b5a56ad [fix] multiple fixes in pdbe engine 2017-12-01 20:54:12 +01:00
Adam Tauber
0969e50c5b [fix] convert json engine result attributes to string - closes #1006 2017-12-01 20:54:12 +01:00
Adam Tauber
6eb9503896 [fix] use english in google engine if no language was set - this prevents guessing the language by the IP of the instance 2017-11-22 22:56:47 +01:00
Adam Tauber
6fdb6640d9 [fix] revert language changes to prevent CAPTCHAs 2017-11-22 22:50:48 +01:00
Adam Tauber
9ab8536479 [fix] fix language support of google 2017-11-21 16:28:53 +01:00
pyrrh0n1c
4340c0b16c Fixed typos. 2017-11-07 14:14:20 +00:00
pyrrh0n1c
2231b02add Fixed the currency_convert engine. 2017-11-07 13:29:17 +00:00
Adam Tauber
00a7041daa
Merge pull request #1068 from Apply55gx/genius
Continuation of PR #1004 (seems abandoned)
2017-11-03 20:21:25 +01:00
Adam Tauber
7a9b18e9e9 [mod] add more error handling to json engine II. 2017-11-02 01:08:15 +01:00
Adam Tauber
181f1c6305 [mod] add more error handling to json engine 2017-11-02 00:43:29 +01:00
Noémi Ványi
5954a8e16a minor fix of BASE engine 2017-11-01 17:02:38 +01:00
Noémi Ványi
d20bba6dc7 minor fixes of pubmed engine
Closes #1045
2017-11-01 17:02:38 +01:00
jibe-b
df0d915806 [add] pubmed engine 2017-11-01 17:02:38 +01:00
Noémi Ványi
9c2b7a82f0 minor fixes of arxiv
Closes #1050
2017-11-01 14:22:22 +01:00
jibe-b
e391b2d970 [fix] remove .encode for python3 compatibility 2017-11-01 11:54:55 +01:00
jibe-b
5278fa666c [enh] use format to concatenate strings 2017-11-01 11:54:38 +01:00
jibe-b
3e3672e079 [add] arxiv engine 2017-11-01 11:54:16 +01:00
Apply55gx
d800e3fcfa Merge pull request #1 from asciimoo/master
-
2017-10-25 10:44:28 +02:00
Apply55gx
18a4e7035f removed unused indicies array 2017-10-25 10:42:37 +02:00
marc
44085e31d0 update engines_languages.json and languages.py
Also, fix fetch_languages.py so it can run on python3.
2017-10-10 16:53:28 -05:00
marc
a524dbb823 [fix] language support for bing images and videos 2017-10-10 16:49:49 -05:00
misnyo
33fd938016 [mod] int_or_zero refactored to searx_utils 2017-09-04 20:05:04 +02:00
misnyo
c3232b0e1a Merge branch 'master' into nyaa 2017-09-04 17:48:25 +02:00
Adam Tauber
234366b900 Merge pull request #1018 from misnyo/generalfile
[mod]generalfile engine removed
2017-09-03 23:09:49 +02:00
Adam Tauber
c505c3c1ca Merge pull request #1019 from misnyo/gigablast
[fix] gigablast api fix
2017-09-03 23:09:33 +02:00
misnyo
b91772eff1 [fix] gigablast pep8 fix 2017-08-31 21:49:19 +02:00
misnyo
01330f71cd [fix] nyaa.si fixed 2017-08-31 21:32:30 +02:00
misnyo
1e2b60f380 [mod] tokyotoshokan dependecy to other engine removed 2017-08-31 21:31:40 +02:00
misnyo
3182ba7069 [fix] google news dom xpath fix 2017-08-31 17:48:07 +02:00
misnyo
8849606e5f [fix] gigablast api fix 2017-08-31 16:57:57 +02:00
misnyo
2d66df0548 [mod]generalfile engine removed 2017-08-31 15:51:16 +02:00
Adam Tauber
e74aaa781e Merge pull request #1016 from misnyo/blekko
[mod]blekko images removed
2017-08-30 21:48:36 +02:00
Adam Tauber
610117d054 Merge pull request #1015 from misnyo/digg
[fix] digg now requires cookie for search
2017-08-30 21:35:12 +02:00
misnyo
6e92fb383a [fix] digg cookie characters created in module import 2017-08-30 21:14:12 +02:00
misnyo
20d2d4dab1 [fix] pep8 fix for faroo engine 2017-08-30 21:09:03 +02:00
misnyo
0607b167f8 [fix] faroo json api and image layout fixed 2017-08-30 21:09:03 +02:00
misnyo
a49cc18f9c [fix] digg now requires cookie for search 2017-08-30 19:51:33 +02:00
misnyo
f139f9cfdb [mod]blekko images removed 2017-08-30 16:47:56 +02:00
misnyo
d14e2781b2 [fix]torrentz search engine fixed for new version 2017-08-25 00:52:35 +02:00
woorst
2434c29dc5 New engine: Genius (lyrics) 2017-08-19 19:05:17 -05:00
marc
3ca9cad927 add bing videos engine 2017-08-05 20:35:57 -05:00
marc
856dfc3018 add google videos 2017-07-26 15:49:16 +02:00
Adam Tauber
077d8efed8 [fix] use poolrequests in ddg engines 2017-07-21 16:23:20 +02:00
Adam Tauber
0f6612bb40 [mod] separate engine load and initialization 2017-07-21 14:27:25 +02:00
Adam Tauber
1794f6a4d3 [enh] add "inactive" attribute to engines
This modification allows us to deactivate engines in settings.yml
without commenting them out
2017-07-20 13:32:20 +02:00
marc
405e5c8f24 [fix] duckduckgo images doesn't fail with countryless language 2017-07-10 18:41:50 +02:00
potato
9b82cb1908 [fix] is_valid_lang fixed for new languages.py + dictzone engine encoding 2017-06-25 18:29:19 +02:00
vache asatryan
5835ebf955 fix github url 2017-06-18 21:53:10 +04:00
Noémi Ványi
c361811cb5 [fix] fix xpath of google images 2017-06-13 19:47:56 +02:00
Adam Tauber
343ac7197d [fix] pep8 2017-06-06 23:37:42 +02:00
Adam Tauber
78365ffb8a [enh] add init function to engines which loads parallel 2017-06-06 22:20:20 +02:00
marc
3b950929b1 [fix] fix duckduckgo's offset
First page now starts with 0 offset,
rather than starting on the 30th result.

DuckDuckGo returns 30 results on each page.
2017-05-27 21:12:39 -05:00
marc
c65a409f0d add duckduckgo images engine 2017-05-23 20:07:09 +02:00
Adam Tauber
1972a044a3 [fix] produce valid urls if scheme is missing 2017-05-22 15:48:37 +02:00
Adam Tauber
8db527c1d2 [fix] use raw response with etree.parsefromstring - Unicode strings with encoding declaration are not supported 2017-05-22 15:36:52 +02:00
Adam Tauber
a4f7046b8f [fix] pep8 2017-05-18 22:19:44 +02:00
Noémi Ványi
2a9339f4b7 [fix] add more description on possible search tpyes 2017-05-18 22:04:31 +02:00
Noémi Ványi
2db807368c [enh] make search type of mediawiki configurable 2017-05-18 21:34:54 +02:00
marc
9ee8e552da [fix] bing images 2017-05-17 15:45:55 +02:00
Dalf
c233bf0df9 [fix] framalibre : remove result['thumbnail'] (not used) 2017-05-15 17:28:21 +02:00
Alexandre Flament
f5128c7cb9 [mod] add/modify image fetching for bing_news, qwant and twitter engines 2017-05-15 17:28:21 +02:00
Adam Tauber
52e615dede [enh] py3 compatibility 2017-05-15 12:02:30 +02:00
Adam Tauber
46a2c63f8e [fix] yahoo news date parsing 2017-04-08 19:45:04 +02:00
Alexandre Flament
12d91c1d67 [mod] searx doesn't crash at startup when an engine can't be loaded (see #884) 2017-04-08 17:38:46 +02:00
François Revol
45d15bd6f0 Add framalibre engine
framalibre.org is a catalogue of Free Software, edited by Framasoft.

For now we pass the thumbnail as img_src as it doesn't seem to be used
for IT...
2017-03-22 00:18:23 +01:00
marc
fd65c12921 make search language handling less strict
languages.py can change, so users may query on a language that is not
on the list anymore, even if it is still recognized by a few engines.

also made no and nb the same because they seem to return the same,
though most engines will only support one or the other.
2017-03-18 23:44:21 +01:00
marc
805fb02ed1 add language support for qwant
closes issue #863
2017-03-18 23:44:21 +01:00
Noémi Ványi
742e4dfdcc [fix] fix paging of duckduckgo 2017-02-01 20:54:13 +01:00
Adam Tauber
52d1087202 [enh] add result number parsing to google engine 2017-01-27 00:18:46 +01:00
Adam Tauber
57149661e4 Merge pull request #830 from davidar/se
Semantic Scholar
2017-01-18 23:50:11 +01:00
Adam Tauber
b1d49bacb0 Merge pull request #827 from davidar/spell
[enh] show spelling corrections
2017-01-18 23:49:01 +01:00
David A Roberts
7492997c51 [fix] allow empty content 2017-01-17 21:14:33 +10:00
David A Roberts
1d30141c20 [enh] show spelling corrections 2017-01-16 13:31:16 +10:00
jcherqui
39a97825d9 Add torrent infos 2017-01-15 16:13:23 +01:00
jcherqui
4776abd1ac Remove categories 2017-01-15 16:13:23 +01:00
jcherqui
a320328dda Fix test 2017-01-15 16:13:23 +01:00
jcherqui
0549fb40d2 Add 1337x.to engine 2017-01-15 16:13:23 +01:00
Adam Tauber
108392f8da [fix] skip non-complete google news results 2017-01-10 11:03:05 +01:00
Adam Tauber
0d4da30c7f [enh] add instant answers to google engine 2017-01-05 17:20:12 +01:00
Adam Tauber
525e5d275c Merge pull request #801 from dalf/extract_text
[fix] extract_text: use html.tostring instead html_to_text.
2017-01-02 12:36:50 +01:00
Alexandre Flament
90e1db3e5c [fix] extract_text: use html.tostring instead html_to_text. Fix #711 2016-12-31 13:56:09 +01:00
Adam Tauber
6bf9c398a7 [fix] use english as default language in bing
If no language is specified, bing returns results with multiple languages
for one query which isn't really useful. Setting english as default
insted if nothing.
2016-12-30 18:17:14 +01:00
marc
1175b3906f change language list to only include languages with a minimum of engines
that support them.
users can still query lesser supported through the :lang_code bang.
2016-12-29 01:55:30 -06:00
Adam Tauber
8bff42f049 Merge branch 'master' into languages 2016-12-28 20:00:53 +01:00
Adam Tauber
ea034fafa9 [fix] proper engine init 2016-12-27 17:55:44 +01:00
Adam Tauber
a605377c40 [enh] explicit engine init 2016-12-27 17:31:14 +01:00
Adam Tauber
b6fc154616 [enh] add searx engine 2016-12-24 22:23:36 +01:00
Adam Tauber
0171db5c3f [fix] handle missing images in google news 2016-12-23 12:59:52 +01:00
marc
7fba3d1179 Merge branch 'master' into languages 2016-12-16 22:14:36 -06:00
marc
4a1ff56389 minor fixes in utils/fetch_languages.py 2016-12-16 22:14:14 -06:00
Adam Tauber
19cd2bf3b5 [fix] re-enable ssl verification for searchcode
closes #784
2016-12-16 15:21:27 +01:00
marc
af35eee10b tests for _fetch_supported_languages in engines
and refactor method to make it testable without making requests
2016-12-15 00:40:21 -06:00
marc
e0c270bd72 tests for language support in engines 2016-12-13 23:51:15 -06:00
marc
f62ce21f50 [mod] fetch supported languages for several engines
utils/fetch_languages.py gets languages supported by each engine and
generates engines_languages.json with each engine's supported language.
2016-12-13 19:58:10 -06:00
marc
92c6e88ad3 small fixes 2016-12-13 19:56:59 -06:00
marc
a11948c71b Add language support for more engines. 2016-12-13 19:32:43 -06:00
marc
c677aee58a filter langauges 2016-12-13 19:32:00 -06:00
marc
149802c569 [enh] add supported_languages on engines and auto-generate languages.py 2016-12-13 19:32:00 -06:00
Noémi Ványi
b034356825 add year filter to engines with time range support && tests
Following engines does not support "Last year":
 * Bing News
 * DeviantArt
 * DuckDuckGo
 * Yahoo
 * YouTube (noapi)
2016-12-11 16:58:31 +01:00
Noémi Ványi
c59c76e6ee add year to time range to engines which support "Last year"
Engines:
 * Bing images
 * Flickr (noapi)
 * Google
 * Google Images
 * Google News
2016-12-11 16:58:31 +01:00
Thomas Renard
16c40ffefd htmlize yacy contents 2016-12-11 14:05:07 +01:00
Noémi Ványi
553f3a3a1a fix xpath of yandex 2016-12-11 11:58:49 +01:00
Adam Tauber
4676e1dcde [fix] remove result escaping from engine 2016-12-11 03:24:26 +01:00
Adam Tauber
1a82ed6f54 [mod] 500px rewrite 2016-12-11 03:22:42 +01:00
Adam Tauber
f6e9c074bb [fix] vimeo engine change follow-up 2016-12-11 02:33:04 +01:00
Adam Tauber
a2c94895c1 [fix] google news engine change follow-up 2016-12-11 01:03:52 +01:00
Adam Tauber
c3dcebb778 [fix] remove html tags from qwant results 2016-12-10 21:31:05 +01:00
Adam Tauber
e12a137a2f [fix] unicode response in deezer and spotify 2016-12-10 00:30:34 +01:00
Alexandre Flament
e48f07a367 Merge branch 'master' into searchpy2 2016-12-09 23:11:45 +01:00
Adam Tauber
72a217f983 [mod] return empty string on missing osm title
Sometimes openstreetmap returns with None as title. In these cases use an empty
string instead.
2016-12-09 19:53:54 +01:00
Adam Tauber
fdf63940e8 [fix] tests ++ flickr error 2016-12-09 19:11:22 +01:00
Adam Tauber
16bdc0baf4 [mod] do not escape html content in engines 2016-12-09 18:59:19 +01:00
Adam Tauber
55dc538398 [mod] move load_module function to utils 2016-11-19 17:51:19 +01:00
Adam Tauber
43ddbc60da [fix] pep8 2016-11-14 16:09:16 +01:00
Adam Tauber
16f2e346b3 [fix] bing unicode issue part III. 2016-11-14 15:52:29 +01:00
Adam Tauber
1176505fa4 [fix] bing character encoding - closes #760 2016-11-14 15:47:42 +01:00
Adam Tauber
17b08d096c [fix] unicode search expression for bing 2016-11-07 22:33:17 +01:00
Adam Tauber
16ff8d06c7 [fix] bing paging and language support
see https://msdn.microsoft.com/en-us/library/ff795620.aspx for bing
specific search operators

closes #755
2016-11-07 22:30:20 +01:00
Alexandre Flament
01e2648e93 Simplify search.py, basically updated PR #518
The timeouts in settings.yml is about the total time (not only the HTTP request but also the prepare the request and parsing the response)
It was more or less the case before since the threaded_requests function ignores the thread after the timeout even the HTTP request is ended.

New / changed stats :
* page_load_time : record the HTTP request time
* page_load_count: the number of HTTP request
* engine_time : the execution total time of an engine
* engine_time_count : the number of "engine_time" measure

The avg response times in the preferences are the engine response time (engine_load_time / engine_load_count)

To sum up :
* Search.search() filters the engines that can't process the request
* Search.search() call search_multiple_requests function
* search_multiple_requests creates one thread per engine, each thread runs the search_one_request function
* search_one_request calls the request function, make the HTTP request, calls the response function, extends the result_container
* search_multiple_requests waits for the the thread to finish (or timeout)
2016-11-05 13:45:20 +01:00
Noémi Ványi
1490d6bc93 add time range search for flickr 2016-11-01 17:58:29 +01:00
Noémi Ványi
5c02b9ef31 add time range support for bing images 2016-11-01 17:58:29 +01:00
Noémi Ványi
d2e0cbafb2 add time range search for youtube noapi 2016-11-01 17:58:29 +01:00
Noémi Ványi
f70d405202 add time range search for bing news 2016-11-01 17:58:29 +01:00
Noémi Ványi
53c9fde992 fix kickass torrents engine 2016-10-22 05:27:18 +02:00
Alexander Minges
3c5883408c initial commit of pdbe engine
Adds support for queries to the Protein Data Bank Europe (PDBe).
2016-10-13 00:40:38 +02:00