summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-12-10[enh] extend json response with suggestions, infoboxes and answersAdam Tauber
2016-12-10[fix] remove html tags from qwant resultsAdam Tauber
2016-12-10Merge pull request #776 from asciimoo/voat-engineAdam Tauber
add voat.co engine
2016-12-10[fix] unicode response in deezer and spotifyAdam Tauber
2016-12-10[fix] remove unused variableAdam Tauber
2016-12-10[enh] handle engine response crashesAdam Tauber
2016-12-10Merge pull request #751 from dalf/searchpy2Adam Tauber
Simplify search.py
2016-12-09Merge branch 'master' into searchpy2Alexandre Flament
2016-12-09[enh] central handling of empty result titlesAdam Tauber
2016-12-09[mod] return empty string on missing osm titleAdam Tauber
Sometimes openstreetmap returns with None as title. In these cases use an empty string instead.
2016-12-09[fix] kickass test html escapingAdam Tauber
2016-12-09[fix] tests ++ flickr errorAdam Tauber
2016-12-09[enh] central html escaping of resultsAdam Tauber
2016-12-09[enh] add author to image result contentAdam Tauber
2016-12-09[fix] query escaping in rss/opensearch outputAdam Tauber
2016-12-09[mod] do not escape html content in enginesAdam Tauber
2016-12-04[fix] proper escaping of the search query in templatesAdam Tauber
2016-12-04[fix] correct path for autoscroll on non-root urlsAdam Tauber
closes #758
2016-12-02add voat.co engineNoémi Ványi
2016-11-19[fix] pep8Adam Tauber
2016-11-19[enh] add statistics answererAdam Tauber
2016-11-19[enh] add quick answer functionality with an example answererAdam Tauber
2016-11-19[mod] move load_module function to utilsAdam Tauber
2016-11-15[fix] gettext requires request.preferencesAdam Tauber
2016-11-14Merge pull request #764 from kvch/set-search-language-from-settings-ymlAdam Tauber
set search language from settings.yml
2016-11-14search: make language configurable from settings.ymlNoémi Ványi
2016-11-14preferences: refactor to check consistently input valuesNoémi Ványi
2016-11-14[fix] search mocking in webapp testAdam Tauber
2016-11-14[fix] remove unused importsAdam Tauber
2016-11-14[enh] display errorsAdam Tauber
also tried flask's flash feature but flask creates session cookies if it isn't flushed. Avoiding session cookies to preserve privacy
2016-11-14[fix] rewrite missing variableAdam Tauber
2016-11-14[fix] allow empty autocomplete settingAdam Tauber
closes #756 closes #761
2016-11-14[fix] pep8Adam Tauber
2016-11-14[fix] bing unicode issue part III.Adam Tauber
2016-11-14[enh] show traceback of search errorsAdam Tauber
2016-11-14[fix] bing character encoding - closes #760Adam Tauber
2016-11-07[fix] unicode search expression for bingAdam Tauber
2016-11-07[fix] bing paging and language supportAdam Tauber
see https://msdn.microsoft.com/en-us/library/ff795620.aspx for bing specific search operators closes #755
2016-11-06Merge branch 'master' into searchpy2Alexandre Flament
2016-11-06[fix] suspend end time checkAdam Tauber
2016-11-06Merge pull request #753 from kvch/lobsters-engineAdam Tauber
add lobste.rs xpath engine
2016-11-06add lobste.rs xpath engineNoémi Ványi
2016-11-05Simplify search.py, basically updated PR #518Alexandre Flament
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-04Merge pull request #733 from dalf/searchpyAdam Tauber
Search architecture
2016-11-02[mod] replace references request.request_data (GET or POST parameters) by ↵Alexandre Flament
request.form (based on merge of POST and GET parameters)
2016-11-02Change plugin API :dalf
- pre_search(request, search) - post_search(request, search) - on_result(request, search, result) with - request is the Flask request - search a searx.Search instance - result a searx result as usual
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-11-02[fix] menu style in pointhi oscar themeAdam Tauber
2016-11-01[fix] menu without js - closes #747Adam Tauber
2016-11-01Merge pull request #746 from kvch/moar-time-range-supportAdam Tauber
Support time range search in more engines