Martin Fischer
bb06758a7b
[refactor] add type hints & remove Setting._post_init
...
Previously the Setting classes used a horrible _post_init
hack that prevented proper type checking.
2022-01-06 14:21:14 +01:00
Markus Heiser
3d96a9839a
[format.python] initial formatting of the python code
...
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-12-27 09:26:22 +01:00
Markus Heiser
fcdc2c2cd2
[format.python] disable py code formatting for some hunks of code
...
Disable the python code formatting from python-black, where the readability of
code suffers by formatting.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-12-27 09:16:03 +01:00
Markus Heiser
5731b6b700
[mod] searx.plugins.prepare_package_resources() - use generators
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-07 18:41:56 +02:00
Markus Heiser
aa5a5147b2
[fix] searx.plugins.initialize() - don't miss module & module-name
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-07 18:41:41 +02:00
Alexandre Flament
2b4fef7118
plugins: refactor initialization
...
add a new function "init" call when the app starts.
The function can:
* return False to disable the plugin.
* modify the Flask app.
2021-10-06 19:18:19 +02:00
Alexandre Flament
0f43b39eac
[enh] add hostname_replace plugin
...
* backport of https://github.com/searx/searx/pull/2724
* allow to remove result if the replacement is the boolean value false
2021-09-11 13:23:06 +02:00
Alexandre Flament
b941763e20
[mod] ahmia_filter: use on_result instead of post_search
...
see commit 6c9ae7911e9639bc46cd53af215734b4bdb61ba9
2021-09-09 11:31:46 +02:00
Alexandre Flament
fc20c561bf
[mod] oa_doi_rewrite plugin: get_doi_resolver: remove args parameter
...
doi_resolvers.get_value('preferences') already contains the value from
request.args.get('doi_resolver')
2021-09-07 19:14:36 +02:00
Alexandre Flament
3f3b5d6181
[mod] plugins: minor change
...
required attributes: display a different message
when the attribute has the wrong type
2021-08-14 18:03:31 +02:00
Alexandre Flament
881659ca9d
[mod] oscar theme: /preferences : HTML detail order match visual tabs
...
First details about the general tab, then detail about UI tab, etc...
No functionnal change
2021-06-17 15:29:07 +02:00
Alexandre Flament
f83b64270c
[mod] oscar theme /preferences: reorganize the preferences
...
close #115
2021-06-17 15:29:07 +02:00
Alexandre Flament
4b07df62e5
[mod] move all default settings into searx.settings_defaults
2021-06-01 08:10:15 +02:00
Markus Heiser
247c46c6b0
[drop] plugin HTTPS rewrite - rule base is to old (update is to big)
...
The usefulness of the _HTTPS rewrite_ plugin is questionable:
- the 36 rule files have not been updated since 2015 [1]
- actual there are 23760 rule files in the https-everywhere repo [2]
For the first, we can remove this plugin. For a complete new implementation, it
might be good to know that there is a project "https-everywhere : Privacy for
Pythons" [3]
related: https://github.com/return42/searx-next/issues/8
[1] https://github.com/return42/searx-next/tree/d187a1d/searx/plugins/https_rules
[2] https://github.com/EFForg/https-everywhere/tree/master/src/chrome/content/rules
[3] https://github.com/jayvdb/https-everywhere-py
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-22 11:47:16 +02:00
3nprob
2ca0aa4f29
Remove hubsbpot tracking URL params
...
More information here:
https://knowledge.hubspot.com/settings/how-do-i-create-a-tracking-url
https://knowledge.hubspot.com/ads/ad-tracking-in-hubspot
https://knowledge.hubspot.com/ctas/calls-to-action-frequently-asked-questions
https://meta.stackexchange.com/questions/263392/what-are-these-very-long-parameters-in-so-careers-feedback-always-welcome-url
2021-04-06 02:11:09 +09:00
Markus Heiser
ebfd0eb2b7
[fix] default_doi_resolver in preferences
...
Instead of a hard-coded `oadoi.org` default, use the default value from
`settings.yml`.
Fix an issue in the themes: The replacement 'current_doi_resolver' contains the
doi_resolver_url, not the name of the DOI resolver. Compare return value of::
searx.plugins.oa_doi_rewrite.get_doi_resolver(...)
Fix a typo in `get_doi_resolver(..)`: suggested by @kvch:
*L32 should set doi_resolver not doi_resolvers*
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-04 13:36:33 +02:00
Alexandre Flament
b00d108673
[mod] pylint: numerous minor code fixes
2020-12-01 15:21:19 +01:00
Alexandre Flament
3038052c79
[mod] remove unused import
...
use
from searx.engines.duckduckgo import _fetch_supported_languages, supported_languages_url # NOQA
so it is possible to easily remove all unused import using autoflake:
autoflake --in-place --recursive --remove-all-unused-imports searx tests
2020-11-14 14:11:02 +01:00
Alexandre Flament
5e7060053c
[mod] ahmia_filter.py: minor changes
...
- use result['parsed_url']
- load ahmia_blacklist.txt in searx.datae
2020-10-27 20:00:04 +01:00
Marc Abonce Seguin
32957cdf49
add Ahmia filter plugin for onion results
2020-10-25 17:59:43 -07:00
Venca24
2b93e70a26
[fix] code style
2020-10-24 09:20:55 +02:00
Venca24
1cbcf2ccb6
[mod] adapt hash plugin to current version of searx
2020-10-23 21:35:13 +02:00
Venca24
40c552c11e
[fix] hash plugin
2020-10-23 21:26:42 +02:00
Venca24
69e5a58058
[fix] code style
2020-10-23 21:26:42 +02:00
Venca24
1ea9438f5d
[fix] hash plugin
2020-10-23 21:25:10 +02:00
Venca24
c9593c8ffd
[enh] add plugin converting strings into hash digests
2020-10-23 21:25:10 +02:00
Adam Tauber
a05c660e30
[enh] add ability to set enabled plugins from settings - closes #1613 #778
2020-10-09 14:12:31 +02:00
Dalf
c225db45c8
Drop Python 2 (4/n): SearchQuery.query is a str instead of bytes
2020-09-10 10:49:42 +02:00
Dalf
1022228d95
Drop Python 2 (1/n): remove unicode string and url_utils
2020-09-10 10:39:04 +02:00
Noémi Ványi
74013c212a
Revert "[enh] new plugin to open results on new browser tabs"
...
This reverts commit ab6a7601cb
.
Closes #2037
2020-07-29 22:10:16 +02:00
Adam Tauber
93ac4db312
[enh] copy atime_ns and mtime_ns of external plugin resources
2020-07-28 13:57:57 +02:00
Adam Tauber
164e4725f3
[mod] add dedicated directory to external plugins with gitignore file
2020-07-28 13:10:40 +02:00
Adam Tauber
3f60bb470a
[fix] correct imported modules
2020-07-28 13:10:40 +02:00
Adam Tauber
dff879d07d
[fix] resolve minor review issues
2020-07-28 13:10:40 +02:00
Adam Tauber
e45a269ecb
[mod] create static directory for each external plugin
2020-07-28 13:10:40 +02:00
Adam Tauber
81e9c75534
[fix] pep8
2020-07-28 13:10:40 +02:00
Adam Tauber
7b93d11d84
[fix] add plugin sha sum check to be able to copy updated resources
2020-07-28 13:10:40 +02:00
Adam Tauber
1f2dc6c647
[enh] add external plugin support
2020-07-28 13:10:40 +02:00
Lukáš Kucharczyk
74e4e5e507
Allow localization of "Self Informations"
...
Allows the string "Self Informations" in the plugin of the same name to be localized by wrapping it with gettext().
2020-07-16 15:26:01 +02:00
Adam Tauber
2c6531b233
[enh] add routing directions to osm search - closes #254
2020-06-09 17:18:44 +02:00
Marc Abonce Seguin
dede46a2d5
fix out of range error in tracker remover plugin
2019-10-22 23:17:00 -07:00
Noémi Ványi
a6f20caf32
add initial support for offline engines && command engine
2019-10-16 15:52:48 +02:00
Adam Tauber
ed1c1bdb04
[fix] pep8
2019-10-14 15:09:39 +02:00
Adam Tauber
28c75c187f
[fix] update query params sanitization - closes #722
2019-10-14 14:58:20 +02:00
Étienne Deparis
0d4d58f794
[enh] Add preference section to two upstream plugins for simple theme integration
2019-01-07 10:48:14 +01:00
Adam Tauber
19f18a2638
Merge pull request #1360 from Popolon/master
...
get_doi_resolver return doi resolver url instead of doi resolver name
2018-08-19 13:14:53 +02:00
Alex
3ba0d0516e
simple theme update
...
- npm package update
- apply #1226
- implement vim help dialog
- display cookies and search URL with preferences
- allow to enable / disable Open Access DOI rewrite
- add a clear text button on the left of the search button
- implement #1011 : the HTML title page is not set when using POST
- remove searx/static/themes/simple/img/loader.gif
- use full width when only there are only images as result
2018-08-14 17:21:30 +02:00
Popolon
00b8aa113f
remove double spaces
2018-08-07 17:57:33 +02:00
Popolon
3a160d3aed
return doi resolver url instead of doi resolver name
2018-08-06 00:53:55 +02:00
Noémi Ványi
1b10abfc92
minor fixes of doi resolver
...
Closes #1047
2017-11-01 17:02:38 +01:00
jibe-b
575159b194
[enh] oa_doi_rewrite plugin broadens doai_rewrite
2017-11-01 14:22:26 +01:00
Alexandre Flament
10a24bdc2c
[enh] add simple theme (WIP)
2017-08-06 16:04:21 +02:00
Adam Tauber
52e615dede
[enh] py3 compatibility
2017-05-15 12:02:30 +02:00
Alexandre Flament
84a2c97a65
[mod] searx uses flask framework only in webapp.py. Make migration to another framework easier.
2017-01-02 12:06:04 +01:00
Adam Tauber
88dfee858e
[fix] rewrite missing variable
2016-11-14 17:25:21 +01:00
dalf
fbb080f358
Change plugin API :
...
- 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-02 14:22:16 +01:00
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
Noemi Vanyi
aa227180e2
remove self info answers from pages after first one
2016-08-27 16:45:25 +02:00
David A Roberts
678b9e994a
[enh] infinite scroll
...
resolves #649
2016-08-11 19:16:42 +10:00
David A Roberts
117d36b66e
Add Crossref search engine and DOAI rewrite plugin
2016-08-10 11:15:30 +10:00
stepshal
b3ab221b98
Fix anomalous backslash in string
2016-07-11 23:53:13 +07: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
Kirill Isakov
3246541bdc
[WIP] Add vim-hotkeys plugin
2016-04-23 22:26:02 +06:00
Adam Tauber
4e5af8d87b
[mod] move plugin static files to static/plugins
2016-02-10 18:06:11 +01:00
Adam Tauber
ab6a7601cb
[enh] new plugin to open results on new browser tabs
2016-02-10 18:04:04 +01:00
Adam Tauber
bd22e9a336
[fix] pep8 compatibilty
2016-01-18 12:47:31 +01:00
Adam Tauber
d2fd56612c
[fix] rename after result refactor
2015-10-21 10:50:00 +02:00
Adam Tauber
6424a7702d
Merge branch 'remove_trackers_plugin' of https://github.com/Cqoicebordel/searx into Cqoicebordel-remove_trackers_plugin
...
Conflicts:
searx/plugins/__init__.py
2015-06-21 16:56:00 +02:00
Cqoicebordel
8911233e3e
Use parsed_url
2015-06-18 14:27:15 +02:00
Cqoicebordel
e93f5314d7
A bit of cleanup of the code
...
- regexes in a array
- regexes applied only on the last part of the url
2015-06-15 20:34:02 +02:00
Luc Didry
0fe362bacf
Change self plugin to self_info + change self_info description
2015-06-15 13:36:38 +02:00
Luc Didry
41fd748cdf
Merge self_ip and self_useragent into one plugin
2015-06-15 10:22:37 +02:00
Luc Didry
538029dc14
Add a self user agent plugin
...
Just like with the "ip" query, duckduckgo gives the server's
information with the "user agent" query.
This corrects this behavior by adding a plugin based on self_ip.py plugin.
2015-06-14 21:08:38 +02:00
Cqoicebordel
617495cca8
Add a plugin to remove trackers from results URLs
2015-06-09 16:16:07 +02:00
Adam Tauber
3683b35877
[fix] plugin description
2015-05-02 23:54:38 +02:00
Adam Tauber
ff68546c69
[mod] enable category select plugin by default
2015-04-26 18:57:03 +02:00
Adam Tauber
33516256fd
[fix] load https rules
2015-04-13 00:40:44 +02:00
Adam Tauber
d2a636f75d
[mod] https rewrite pluginification
2015-04-13 00:30:12 +02:00
Adam Tauber
146928a749
[doc] plugin license infos
2015-04-13 00:08:04 +02:00
Adam Tauber
973c97c85b
[enh] new plugin: search on category select (currently only in oscar theme)
...
TODO
purge mootools from default/courgette and integrate jquery ++ this theme
2015-04-12 19:27:48 +02:00
Adam Tauber
dd84814b68
[enh] plugins: client side dependency support
2015-04-12 19:24:01 +02:00
Adam Tauber
54f1bc0425
[fix] call ip plugin as a post search callback
2015-04-07 11:07:46 +02:00
Adam Tauber
a57a011e94
[fix] remove ip plugin pre_search override - closes #275
2015-03-16 12:48:53 +01:00
Adam Tauber
bf5d6f56c6
[enh] plugin attribute type check
2015-03-14 20:22:26 +01:00
Adam Tauber
13ea0a20ae
[enh] gettext in self ip plugin
2015-03-14 19:45:15 +01:00
Adam Tauber
9eeb36c787
[enh] selfip plugin description
2015-03-11 01:44:33 +01:00
Adam Tauber
9cb66be29c
[enh] plugin id
2015-03-11 01:42:25 +01:00
Adam Tauber
cae22bfc76
[enh] per user plugin switch
2015-03-10 20:44:02 +01:00
Adam Tauber
00cc4dcbf4
[enh] plugin support basics ++ self ip plugin
2015-03-10 19:55:22 +01:00