summaryrefslogtreecommitdiff
path: root/searx/plugins/self_info.py
AgeCommit message (Collapse)Author
2024-08-30[fix] self_info: request.user_agent is not a strAlexander Sulfrian
The user_agent attribute of the Flask request object is an instance of the werkzeug.user_agent.UserAgent class. This will fix the following error of the self_info plugin: > ERROR:searx.plugins.self_info: Exception while calling post_search > Traceback (most recent call last): > File "searx/plugins/__init__.py", line 203, in call > ret = getattr(plugin, plugin_type)(*args, **kwargs) > File "searx/plugins/self_info.py", line 31, in post_search > search.result_container.answers['user-agent'] = {'answer': gettext('Your user-agent is: ') + ua} > TypeError: can only concatenate str (not "UserAgent") to str
2024-06-17[feat] plugin Self Information: improve keyword matchingJeff Alyanak
This change does the following things: - the `ip` keyword is now case-insensitive - if the query includes `my ip` it will now also match In order to avoid too many false matches, the `ip` keyword alone matches only if it's the _only_ word, but the inclusion of `my` loosens that to be inclusive of users type a phrase (eg, "what is my ip", "tell me my ip", "my IP address", etc). Better answer context Previously this plugin simply dumped your IP or user-agent string as an answer. This tiny change just adds some text to contextualize those answers (eg, "Your IP is: 1.2.3.4" instead of just "1.2.3.4").
2024-03-11[mod] pylint all files with one profile / drop PYLINT_SEARXNG_DISABLE_OPTIONMarkus Heiser
In the past, some files were tested with the standard profile, others with a profile in which most of the messages were switched off ... some files were not checked at all. - ``PYLINT_SEARXNG_DISABLE_OPTION`` has been abolished - the distinction ``# lint: pylint`` is no longer necessary - the pylint tasks have been reduced from three to two 1. ./searx/engines -> lint engines with additional builtins 2. ./searx ./searxng_extra ./tests -> lint all other python files Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-06-01[fix] correct determination of the IP for the requestMarkus Heiser
For correct determination of the IP to the request the function botdetection.get_real_ip() is implemented. This fonction is used in the ip_limit and link_token method of the botdetection and it is used in the self_info plugin. A documentation about the X-Forwarded-For header has been added. [1] https://github.com/searxng/searxng/pull/2357#issuecomment-1566211059 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-27[fix] typos / reported by @kianmeng in searx PR-3366Markus Heiser
[PR-3366] https://github.com/searx/searx/pull/3366 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-12-27[format.python] initial formatting of the python codeMarkus Heiser
This patch was generated by black [1]:: make format.python [1] https://github.com/psf/black Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-17[mod] oscar theme /preferences: reorganize the preferencesAlexandre Flament
close #115
2020-09-10Drop Python 2 (4/n): SearchQuery.query is a str instead of bytesDalf
2020-07-16Allow localization of "Self Informations"Lukáš Kucharczyk
Allows the string "Self Informations" in the plugin of the same name to be localized by wrapping it with gettext().
2020-06-09[enh] add routing directions to osm search - closes #254Adam Tauber
2017-05-15[enh] py3 compatibilityAdam Tauber
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-08-27remove self info answers from pages after first oneNoemi Vanyi
2016-07-04[enh][fix] update to latest dependencies ++ fix tests & travis test runnerAdam Tauber
WARNING: dependency changes
2015-10-21[fix] rename after result refactorAdam Tauber
2015-06-15Change self plugin to self_info + change self_info descriptionLuc Didry