Commit Graph

3424 Commits

Author SHA1 Message Date
Noémi Ványi cdc2f33972
Merge pull request #2074 from asciimoo/external-plugins
This is a second proposal to accomplish plugin decoupling. I think #1938 is highly complicated and does much more than this feature requires, so here is an alternative implementation for the same feature. Please review it and let me know your opinion.

This solution supports the use of any kind of standard python modules which implements the required attributes of a plugin, so new plugins can be installed by standard python tools (pip/setup.py).

Downsides:
 - Localization of plugins name/description isn't possible
 - Plugins have to be updated manually

## What does this PR do?

Implements external plugin extensibility.

## Why is this change important?

Makes us able to decouple plugins from searx.

## Related issues

#1938 #1716 #1878
2020-07-28 21:28:55 +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
Adam Tauber 1185c06a87
Merge pull request #2102 from MarcAbonce/wikipedia-api-cleanup
Fix Wikipedia's paragraph extraction
2020-07-27 14:46:41 +02:00
Marc Abonce Seguin 77b9faa8df fix Wikipedia's paragraph extraction 2020-07-26 23:53:40 -07:00
Alexandre Flament 6d18769ccf
Merge pull request #2101 from mikeri/master
Update torrentz2 URL from .eu to .is
2020-07-26 19:33:49 +02:00
Michael Ilsaas 98cb6b6701 Update torrentz2 URL from .eu to .is 2020-07-26 15:56:54 +02:00
Markus Heiser 9764ef9a5a
Merge pull request #2097 from gardouille/fix-filtron-doc
Filtron sample: Add missing comma
2020-07-25 09:51:20 +00:00
Gardouille b13ccb5ce1 Filtron sample: Add missing comma 2020-07-25 11:34:35 +02:00
Adam Tauber 7b71954d7e
Merge pull request #2094 from xywei/xpath-handle-relative-url
Extract relative urls that do not start with / using xpath engine
2020-07-25 03:53:38 +02:00
xywei 1d4657b714
Fix relative urls that do not start with '/' 2020-07-23 11:12:19 -05:00
Adam Tauber 9f2446c444
Merge pull request #2091 from dalf/documentaiton-docker
[enh] update documentation about docker
2020-07-22 15:34:30 +02:00
Dalf 4a35975b42 [enh] update documentation about docker 2020-07-22 14:58:04 +02:00
Adam Tauber 7ef62c6284
Merge pull request #2079 from KucharczykL/master
Allow localization of "Self Informations"
2020-07-16 18:43:23 +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
Alexandre Flament 61ff5a7aea
Merge pull request #2077 from dalf/bangs-no-favicon
[mod] bangs.json: remove the favicons
2020-07-15 10:00:12 +02:00
Dalf b339b8b6d6 [mod] bangs.json: remove the favicons
fix #2076
2020-07-15 09:15:26 +02:00
Markus Heiser 3fe78c64c6 [fix] minor typos in docs/admin/settings.rst
This comit is a replacement for https://github.com/asciimoo/searx/pull/2005

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-07-13 17:49:07 +02:00
Markus Heiser 72e86be0ce [fix docs] typo in the template to create a new user
closes: https://github.com/asciimoo/searx/issues/2062

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-07-13 17:49:07 +02:00
Adam Tauber 6e37255e59
Merge pull request #2066 from HamiltonFintech/master
mymemory_translated: fix python 3 support
2020-07-13 01:11:53 +02:00
Gaspard d'Hautefeuille 4e346e741a
fix python 3 support 2020-07-12 23:43:24 +01:00
Markus Heiser c41db5f1ba
Merge pull request #2059 from dalf/bang-encoding
[mod] external_bang.py: always read bangs.json with a UTF-8 file.
2020-07-12 09:12:55 +00:00
Dalf 718715180d [mod] external_bang.py: always read bangs.json with a UTF-8 file. 2020-07-11 12:23:08 +02:00
Markus Heiser f9faafa896
[fix] external_bang - UnicodeDecodeError: 'ascii' codec can't decode (#2043)
Python's default encoding depends on the platform, set (python) default encoding
UTF-8 in uwsgi ini files:

    LANG=C.UTF-8
    LANGUAGE=C.UTF-8
    LC_ALL=C.UTF-8

Error pattern:

    Traceback (most recent call last):
      File "/usr/local/searx/searx-src/searx/webapp.py", line 74, in <module>
        from searx.search import SearchWithPlugins, get_search_query_from_webapp
      File "/usr/local/searx/searx-src/searx/search.py", line 32, in <module>
        from searx.external_bang import get_bang_url
      File "/usr/local/searx/searx-src/searx/external_bang.py", line 13, in <module>
        for bang in json.load(json_file)['bang']:
      File "/usr/lib/python3.8/json/__init__.py", line 293, in load
        return loads(fp.read(),
      File "/usr/lib/python3.8/encodings/ascii.py", line 26, in decode
        return codecs.ascii_decode(input, self.errors)[0]
      UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 31341: ordinal not in range(128)

close: https://github.com/asciimoo/searx/issues/2041

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-07-11 12:17:06 +02:00
Wonderfall 7b19e6c5f4
Dockerfile: upgrade base to alpine 3.12 (#1983)
Author: Wonderfall <wonderfall@targaryen.house>
2020-07-11 12:07:51 +02:00
Adam Tauber 5165962fdc
Merge pull request #2038 from kvch/contributing-to-searx
Add PR template and contribution guidelines
2020-07-10 23:42:55 +02:00
Noémi Ványi fd80453a3a Add PR template and contribution guidelines 2020-07-10 17:10:02 +02:00
Adam Tauber 754accb6d2 [fix] typo 2020-07-09 23:52:56 +02:00
Adam Tauber 9c2679c31d [mod] remove py2 from travis tests 2020-07-09 17:42:54 +02:00
Adam Tauber 8199ab50f9 [enh] release v0.17.0 2020-07-09 17:31:28 +02:00
Adam Tauber 83479b8c4b [enh] add @piplongrun @jjasonkal @KazamaSion @resynth1943 @ahangarha @gordon-quad @999eagle to authors 2020-07-09 17:29:52 +02:00
Adam Tauber b7d2597f2e [enh] update translations 2020-07-09 15:15:52 +02:00
Adam Tauber e693bccaf4 [mod] drop py2 support 2020-07-09 15:04:00 +02:00
Adam Tauber 52eba0c721 [fix] pep8 2020-07-08 00:46:03 +02:00
Adam Tauber 9f5cd28dba Merge branch 'google-images-fix' 2020-07-07 22:01:06 +02:00
Markus Heiser 16f8ec894a [fix] revise google images engine
this commit is picked from #1985
2020-07-07 21:59:15 +02:00
Markus Heiser 410c2f903d [fix] revise google engine
this commit is picked from #1985
2020-07-07 21:50:59 +02:00
Adam Tauber 3227695b0b [fix] indicate visually active tab programmatically on the page Preferences - #350 2020-07-06 13:07:45 +02:00
Lukas van den Berk 4829a76aae
Created new plugin type custom_results. Added new plugin bang_redirect (#2027)
* Made first attempt at the bangs redirects plugin.

* It redirects. But in a messy way via javascript.

* First version with custom plugin

* Added a help page and a operator to see all the bangs available.

* Changed to .format because of support

* Changed to .format because of support

* Removed : in params

* Fixed path to json file and changed bang operator

* Changed bang operator back to &

* Made first attempt at the bangs redirects plugin.

* It redirects. But in a messy way via javascript.

* First version with custom plugin

* Added a help page and a operator to see all the bangs available.

* Changed to .format because of support

* Changed to .format because of support

* Removed : in params

* Fixed path to json file and changed bang operator

* Changed bang operator back to &

* Refactored getting search query. Also changed bang operator to ! and is now working.

* Removed prints

* Removed temporary bangs_redirect.js file. Updated plugin documentation

* Added unit test for the bangs plugin

* Fixed a unit test and added 2 more for bangs plugin

* Changed back to default settings.yml

* Added myself to AUTHORS.rst

* Refacored working of custom plugin.

* Refactored _get_bangs_data from list to dict to improve search speed.

* Decoupled bangs plugin from webserver with redirect_url

* Refactored bangs unit tests

* Fixed unit test bangs. Removed dubbel parsing in bangs.py

* Removed a dumb print statement

* Refactored bangs plugin to core engine.

* Removed bangs plugin.

* Refactored external bangs unit tests from plugin to core.

* Removed custom_results/bangs documentation from plugins.rst

* Added newline in settings.yml so the PR stays clean.

* Changed searx/plugins/__init__.py back to the old file

* Removed newline search.py

* Refactored get_external_bang_operator from utils to external_bang.py

* Removed unnecessary import form test_plugins.py

* Removed _parseExternalBang and _isExternalBang from query.py

* Removed get_external_bang_operator since it was not necessary

* Simplified external_bang.py

* Simplified external_bang.py

* Moved external_bangs unit tests to test_webapp.py. Fixed return in search with external_bang

* Refactored query parsing to unicode to support python2

* Refactored query parsing to unicode to support python2

* Refactored bangs plugin to core engine.

* Refactored search parameter to search_query in external_bang.py
2020-07-03 13:25:04 +00:00
Adam Tauber c21220c671 Merge branch 'colour-contrast' 2020-07-02 16:27:09 +02:00
Noémi Ványi 223114c575 [fix] refine contrast ratios of texts and borders - #350 2020-07-02 16:24:58 +02:00
Adam Tauber 6163bd671b
Merge pull request #1954 from return42/csp-oscar-theme
[fix] oscar theme, remove inline style attributes (CSP compliants)
2020-06-30 15:55:13 +02:00
Markus Heiser f14a7add31 Merge branch 'master' of https://github.com/asciimoo/searx into csp-oscar-theme 2020-06-30 15:37:39 +02:00
Markus Heiser c59ca60042
Merge pull request #1974 from return42/gigablast
Revise of the gigablast engine
2020-06-29 16:17:06 +00:00