summaryrefslogtreecommitdiff
path: root/searx/query.py
AgeCommit message (Collapse)Author
2019-10-14[fix] normalize time range parameterAdam Tauber
2019-08-02[enh] Add timeout limit per request (#1640)Alexandre Flament
The new url parameter "timeout_limit" set timeout limit defined in second. Example "timeout_limit=1.5" means the timeout limit is 1.5 seconds. In addition, the query can start with <[number] to set the timeout limit. For number between 0 and 99, the unit is the second : Example: "<30 searx" means the timeout limit is 3 seconds For number above 100, the unit is the millisecond: Example: "<850 searx" means the timeout is 850 milliseconds. In addition, there is a new optional setting: outgoing.max_request_timeout. If not set, the user timeout can't go above searx configuration (as before: the max timeout of selected engine for a query). If the value is set, the user can set a timeout between 0 and max_request_timeout using <[number] or timeout_limit query parameter. Related to #1077 Updated version of PR #1413 from @isj-privacore
2019-07-17Suggestions: use RawTextQuery to make the suggestions URLs. Update all ↵Dalf
themes accordingly.
2019-03-28[fix] stop engine from sending duplicated requestsMarc Abonce Seguin
2018-04-05Merge pull request #1252 from MarcAbonce/search-languagesAdam Tauber
[mod] Refactor engine's search language handling
2018-03-28[fix] assign the correct variable in query.py - fixes #1253Adam Tauber
2018-03-27refactor engine's search language handlingMarc Abonce Seguin
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-22forward category to engine without highlighting on the uiNoémi Ványi
2017-12-06remove 'all' option from search languagesmarc
2017-11-23[fix] autocompleter py3 compatibility - fixes #1088Zeph
2017-11-23[fix] replace obsolete string.join functionAdam Tauber
2017-05-15[enh] py3 compatibilityAdam Tauber
2017-03-18make search language handling less strictmarc
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-01-12[fix] searching for "!google_images text" doesn't work (bang with underscore)Alexandre Flament
2016-12-29change language list to only include languages with a minimum of enginesmarc
that support them. users can still query lesser supported through the :lang_code bang.
2016-12-13[enh] add supported_languages on engines and auto-generate languages.pymarc
2016-11-02Clean up the architecturedalf
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-04-09rename blocked engines to diabled enginesNoemi Vanyi
2015-02-03[enh] category specific engine deactivation - closes #205Adam Tauber
2015-01-31[enh] allow override of blocked engines from query stringAdam Tauber
2015-01-12Merge pull request #166 from Cqoicebordel/non-exclusif-bangAdam Tauber
Add non exclusif bang
2015-01-10[enh] add autocompletion for searx-specific stringsThomas Pointhuber
2015-01-03Add non exclusif bangCqoicebordel
Allow to perform a search while adding an engine (or a category) without adding it "officially" to the request. '?' is used to add an engine without modifying anything else to the request. For example, you can perform a search in the 'general' category, and if you add '?tw' the result from Twitter will be added to the originals results.
2014-10-19[fix] pep8 part II.Adam Tauber
2014-10-01using Query class for parsing of search queryThomas Pointhuber
2014-10-01implement query parser and use it inside autocompletionThomas Pointhuber