Commit Graph

791 Commits

Author SHA1 Message Date
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
Pydo 55a5b686ed Merge branch 'master' of https://github.com/asciimoo/searx into feature/seedpeer-engine-integration
Resolved conflict searx/settings.yml
2016-10-01 10:46:18 -04:00
Adam Tauber 86daef2063 [fix] do not allow underscore in engine names - closes #708 2016-09-28 22:30:05 +02:00
marc d1d4ed4376 [fix] results with digbit don't truncate anymore 2016-09-20 16:11:33 -05:00
firebovine e145fdb86d #607 - noapi fix 2016-09-10 17:43:12 -04:00
Lorenzo J. Lucchini a8907224a1 Improving Wolfram Alpha search hit content
Making WA search hits contain
- the (parsed) input inside the "title" instead of just "Wolfram|Alpha", to better match other hit titles and to confirm correct parsing of input to the user
- the first output field that contains any text (skipping ones that are only pictures; this is usually the most meaningful "result" field) instead of the raw input as the "content", making it additionally possible to obtain WA computations from JSON API calls
2016-09-10 17:42:19 -04:00
marc 09ee2aa69d [fix] Result text in Wolfram|Alpha (#607) 2016-09-10 17:42:04 -04:00
Adam Tauber 3144ec1d59 [fix] unicode urls 2016-09-06 17:17:42 +02:00
potato 983415bc38 [enh] is_valid_lang moved to utils 2016-09-06 16:43:48 +02:00
potato b7d578ae80 [enh] engine header comments 2016-09-06 16:36:04 +02:00
potato 8c72a22757 [enh] api_key usage, disable the engine by default 2016-09-06 16:12:34 +02:00
potato c051e6a2c3 [fix] pep8 2016-09-06 15:44:05 +02:00
potato ab471fd13b [enh] mymemory translated engine added for multi-word translations 2016-09-06 15:40:07 +02:00
potato 22bd39fd42 [fix] only 1-word search triggers the engine 2016-09-06 15:07:47 +02:00
potato 7bf1013c15 [enh] removed missing params; [fix] pep8 2016-09-06 14:24:08 +02:00
potato bc806bfab1 [fix] no lambda anymore, cgi.escape 2016-09-06 14:12:46 +02:00
potato 5416f0f248 [enh] dictionary engine renamed to dictzone 2016-09-06 12:50:56 +02:00
potato 84ff6e289e [enh] filter non-existing language code/name containing requests 2016-09-06 12:46:18 +02:00
potato b808a2e266 [fix] don't merge with suggestions 2016-09-06 12:37:26 +02:00
potato 3f4cc2146c [enh] return results instead of answers 2016-09-06 12:34:20 +02:00
potato f4525880ed [enh] dictionary engine added 2016-09-06 11:47:27 +02:00
Pydo 2c2123b2e8 Added seepeer to config and added seepeer search parser 2016-09-05 14:51:02 -04:00
Adam Tauber 13bed1f872 Merge pull request #639 from kvch/digbt-engine
add digbt engine - fixes #638
2016-08-16 10:37:17 +02:00
David A Roberts 1e9dab08e6 [fix] behaviour for page_size>1 and first_page_num>0
eg. pageno=1,21,41,... instead of 20,40,60,...
2016-08-14 22:10:25 +10:00
Noemi Vanyi 3a1c5876b1 add digbt engine
Unfortunately, it is quite slow so it is disabled.
Furthermore, the display of number of files is wrong
on digbt.org, so it is not displayed on searx.
2016-08-13 16:19:00 +02:00
Adam Tauber 104cdb7d03 [fix] remove unused imports ++ int token timestamp by default 2016-08-13 01:13:41 +02:00
Adam Tauber eb57481450 [fix] google images paging - closes #571 2016-08-13 01:13:41 +02:00
David A Roberts 61fe5daf30 Add Microsoft Academic search engine 2016-08-12 20:19:10 +10:00
Adam Tauber 31866d9f33 Merge pull request #629 from stepshal/E305
Add missing blank lines after class or function definition.
2016-08-11 13:33:59 +02:00
stepshal 7e16c9d360 Add missing blank lines after class or function definition. 2016-08-11 17:18:12 +07:00
David A Roberts 117d36b66e Add Crossref search engine and DOAI rewrite plugin 2016-08-10 11:15:30 +10:00
marc ad58b14be7 [fix] merge infoboxes based on weight
also minor changes in attributes and images from wikidata
2016-08-05 23:51:04 -05:00
marc c2e4014287 [fix] urls merge in infobox (#593)
TODO:
    merge attributes
2016-08-05 23:51:04 -05:00
marc a0a1284998 wikidata refactor and more attributes (see issue #560) 2016-08-05 23:51:04 -05:00
a01200356 93ef11adc0 [enh] multilingual wikidata
disambiguation and tags are in local language

TOFIX:
    needs to query the api every time to know each label's name
2016-08-05 23:51:04 -05:00
Adam Tauber 350a84520d [fix] time range detection 2016-07-26 00:28:48 +02:00
Adam Tauber 7d9c898170 Merge pull request #634 from kvch/advanced-search
support time range search
2016-07-26 00:06:16 +02:00
Adam Tauber 54d987636e [fix] do not load engines which cannot be initialized - closes #585 2016-07-25 23:36:52 +02:00
Noemi Vanyi a7c8d5882c fix pep8 2016-07-25 23:28:14 +02:00
Noemi Vanyi e7baf24ec1 add time range search for deviantart 2016-07-25 23:28:14 +02:00
Noemi Vanyi e9a78f1434 add time range search for google images 2016-07-25 23:28:14 +02:00
Noemi Vanyi f13b9fa36a add time range search for duckduckgo 2016-07-25 23:28:14 +02:00
Noemi Vanyi 2e5839503f add time range search for google 2016-07-25 23:28:14 +02:00
Noemi Vanyi 93c0c49e9a add time range search with yahoo 2016-07-25 23:19:46 +02:00
Noemi Vanyi ba590de7f1 [fix] deviantart engine xpaths 2016-07-19 09:37:02 +02:00
Adam Tauber aa09f963eb Merge pull request #621 from stepshal/anomalous-backslash-in-string
Fix anomalous backslash in string
2016-07-18 22:27:17 +02:00
Adam Tauber f7a3e9771d Merge pull request #615 from mmuman/scanr
Add ScanR structures search engine
2016-07-15 13:02:29 +02:00
marc aac4ed6971 [fix] guess country code if not specified in duckduckgo engine 2016-07-14 16:36:52 -05:00
a01200356 8fc4b8156a [fix] multilingual duckduckgo
only works if both country and language are set
2016-07-12 23:44:39 -05:00
François Revol 1dba6dcbac Add ScanR structures search engine
In theory ScanR should also search for projects but the API is different,
so we'd need another engine.
2016-07-12 15:47:04 +02:00
stepshal b3ab221b98 Fix anomalous backslash in string 2016-07-11 23:53:13 +07:00
stepshal cd9b494cb5 Fix quantity of blank lines after code object. 2016-07-10 21:44:27 +07:00
François Revol b538de568a Add INA search engine 2016-07-09 22:09:54 +02:00
Adam Tauber 257e52954a [enh][fix] update to latest dependencies ++ fix tests & travis test runner
WARNING: dependency changes
2016-07-04 22:46:43 +02:00
Adam Tauber 2f7752b410 [enh] display number of results 2016-06-28 00:06:50 +02:00
Adam Tauber 5dd2340bc6 [fix] gigablast redirect - closes #575 2016-06-12 00:07:54 +02:00
Maxqia 56e53c9297 [fix] currency_convert: make unit tests pass
also make regex more efficent and normalize 's'es
2016-05-03 18:59:30 -07:00
Maxqia fe2ce83e41 [enh] currency_convert: allow strings like google's "convert 1 euro to dollars" 2016-04-30 20:48:15 -07:00
a01200356 a44faa7716 [fix] compile regex in ddg_definitions 2016-04-19 12:46:15 -05:00
a01200356 6dca14e95d [enh] multilingual duckduckgo_definitions 2016-04-17 16:34:46 -05:00
a01200356 8d335dbdae [enh] wikipedia infobox
creates simple multilingual infobox using wikipedia's api
2016-04-17 16:22:19 -05:00
Kirill Isakov 4eeb5fb76b [fix] incorrect URLs in Reddit results - closes #538 2016-04-16 16:22:31 +06:00
Adam Tauber 85c0351dca Merge pull request #526 from ukwt/anime
Add a few search engines
2016-04-14 10:59:31 +02:00
Kirill Isakov 90c51cb449 Fix a few typos in Google search engine 2016-04-13 23:04:53 +06:00
Kirill Isakov d54e82dfb9 Revert to using random UA in Reddit search engine 2016-04-13 22:06:00 +06:00
Adam Tauber 5544fdb756 Merge pull request #531 from guyou/add-doku-engine
Add doku engine
2016-04-12 13:54:12 +02:00
Adam Tauber 9331fc28a8 [fix] broken google images parsing 2016-04-07 08:07:17 +02:00
Guilhem Bonnefille 2733a92383 Fix query encoding 2016-04-05 13:31:49 +02:00
Guilhem Bonnefille f26f0dab2e Fix pep8 E302
Cf. http://legacy.python.org/dev/peps/pep-0008/#blank-lines
2016-04-04 13:38:22 +02:00
Guilhem Bonnefille cf09b500f3 Add support for dokuwiki engine 2016-04-03 22:03:41 +02:00
Kirill Isakov d0001f10e6 Add searx user agent to Reddit engine request to comply with API usage terms 2016-03-30 17:30:46 +06:00
jibe-b 092e15cc1d [enh] Add BASE engine in category Science. Basic and advanced search. 2016-03-29 16:17:17 +02:00
Kirill Isakov bacc9a3df1 Add paging support to XPath & Erowid engines 2016-03-28 19:15:03 +06:00
Kirill Isakov e202c6fbec Fix PEP8 warnings for Nyaa.py 2016-03-27 05:23:17 +06:00
Kirill Isakov a8832574fa Shorten content field for very long Reddit search results 2016-03-27 05:09:04 +06:00
Kirill Isakov c1d456b136 Add F-Droid search engine 2016-03-27 03:50:44 +06:00
Kirill Isakov 547b8a8765 Add Tokyo Toshokan search engine 2016-03-27 00:49:57 +06:00
Adam Tauber 71de593a5b [fix] bing images page change 2016-03-26 02:07:52 +01:00