Commit Graph

70 Commits

Author SHA1 Message Date
dalf
67e11c42b9 Clean up the architecture
Purposes :
- isolate the plugins calls
- distinction between parsing the web request and running the search (Search class). To be able to test code easily, to run searx code outside a web server, to filter the search query parameters with plugins more easily, etc...

Details :
- request.request_data contains request.form or request.args (initialize inside pre_request() function)
- Query class is renamed RawTextQuery
- SearchQuery class defines all search parameters
- get_search_query_from_webapp create a SearchQuery instance (basically the previous Search.__init__ code)
- Search class and SearchWithPlugins class takes a SearchQuery instance as class constructor parameter
- SearchWithPlugins class inherites from Search class, and run plugins
- A dedicated function search_with_plugins executes plugins to have a well define locals() (which is used by the plugins code).
- All plugins code is executed inside the try...except block (webapp.py, index function)
- advanced_search HTTP parameter value stays in webapp.py (it is only part of UI)
- multiple calls to result_container.get_ordered_results() doesn't compute the order multiple time (note : this method was call only once before)
- paging value is stored in the result_container class (compute in the extend method)
- test about engine.suspend_end_time is done during search method call (instead of __init__)
- check that the format parameter value is one of these : html, rss, json, rss (before the html value was assumed but some text formatting wasn't not done)
2016-11-02 14:22:16 +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
Adam Tauber
629fa4355a [fix] gecko driver cannot detect the page load finish on preferences form submit. It now works with this dirty workaround.. 2016-10-22 04:45:29 +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
295fc9ce96 [fix] robot test engine names II. 2016-09-28 22:59:13 +02:00
Adam Tauber
bee7b497a3 [mod] rename "default" theme to "legacy" 2016-09-22 23:51:07 +02:00
marc
d1d4ed4376 [fix] results with digbit don't truncate anymore 2016-09-20 16:11:33 -05:00
firebovine
f67db1e107 fix tests to reflect: Wolfram|Alpha (input) response 2016-09-10 18:04:24 -04:00
marc
09ee2aa69d [fix] Result text in Wolfram|Alpha (#607) 2016-09-10 17:42:04 -04:00
Pydo
ec4a03628e Put html fixture in file to be pep8 line length compliant 2016-09-05 15:37:20 -04:00
Pydo
aa85045a7d Added seedpeer unitests 2016-09-05 14:50:26 -04:00
Adam Tauber
7591c8bfe3 Merge pull request #672 from kvch/self-info-paging
Self information on later pages
2016-08-27 22:10:33 +02:00
Adam Tauber
3043c404e4 Merge pull request #671 from kvch/custom-404
Custom 404 message - fixes #317
2016-08-27 22:08:58 +02:00
Noemi Vanyi
aa227180e2 remove self info answers from pages after first one 2016-08-27 16:45:25 +02:00
Noemi Vanyi
0056c4035e add custom 404 page 2016-08-24 19:53:09 +02:00
Adam Tauber
f693a54ad7 Merge pull request #664 from kvch/uncapitalize-searx
uncapitalize searx in templates
2016-08-16 10:38:13 +02:00
Noémi Ványi
4bd44cd98f uncapitalize searx in templates 2016-08-15 17:12:43 +02:00
Noemi Vanyi
6dd5f7a8c9 add digbt unittest 2016-08-13 16:27:16 +02:00
Adam Tauber
eb57481450 [fix] google images paging - closes #571 2016-08-13 01:13:41 +02: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
a0a1284998 wikidata refactor and more attributes (see issue #560) 2016-08-05 23:51:04 -05:00
Adam Tauber
350a84520d [fix] time range detection 2016-07-26 00:28:48 +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
c75d0d1532 [fix] result count tests 2016-07-16 21:53:42 +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
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
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
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
d98024c26e Update Reddit unit test -- check for img_src 2016-04-16 16:45:49 +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
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
Noemi Vanyi
f0fd9ad628 add unit && robot tests 2016-04-09 01:09:26 +02:00
Noemi Vanyi
fe691a0988 new preferences handling
Preferences class was introduced in order to handle user preferences. Right now
it parses cookies and the form in preferences. Also it can retrieve settings
based on the name of the setting.

ATTENTION
Please note that engine preferences are handled differently from now on. So it
introduces incompatible changes. Every user who has saved preferences should reset and
save his/her settings again.

This change was needed, because everytime a default disabled engine was
added saved user preferences would broke. Now engine setting tracking is
fixed.
2016-04-09 01:08:44 +02:00
Adam Tauber
9331fc28a8 [fix] broken google images parsing 2016-04-07 08:07:17 +02:00
Guilhem Bonnefille
bb29a910f2 Fix pep8 about too long lines
Code is refactored and example data are truncated.
2016-04-04 13:38:57 +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