Commit graph

7899 commits

Author SHA1 Message Date
Markus Heiser
86b4d2f2d0 [mod] activate pyright checks (in CI)
We have been using a static type checker (pyright) for a long time, but its
check was not yet a prerequisite for passing the quality gate.  It was checked
in the CI, but the error messages were only logged.

As is always the case in life, with checks that you have to do but which have no
consequences; you neglect them :-)

We didn't activate the checks back then because we (even today) have too much
monkey patching in our code (not only in the engines, httpx and others objects
are also affected).

We want to replace monkey patching with clear interfaces for a long time, the
basis for this is increased typing and we can only achieve this if we make type
checking an integral part of the quality gate.

  This PR activates the type check; in order to pass the check, a few typings
  were corrected in the code, but most type inconsistencies were deactivated via
  inline comments.

This was particularly necessary in places where the code uses properties that
stick to the objects (monkey patching).  The sticking of properties only happens
in a few places, but the access to these properties extends over the entire
code, which is why there are many `# type: ignore` markers in the code ... which
we will hopefully be able to remove again successively in the future.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-04-27 18:31:52 +02:00
Markus Heiser
648f43be1d [build] /static 2024-04-27 18:26:23 +02:00
Bnyro
3ea278aff4 [feat] preferences: button to enable/disable all engines 2024-04-27 18:26:23 +02:00
Bnyro
46efb2f36d [feat] plugins: new unit converter plugin 2024-04-27 18:11:33 +02:00
Bnyro
b3b1258e4e [data] wikidata: update wikidata_units.json 2024-04-27 18:11:33 +02:00
dependabot[bot]
1e1fb59bea [upd] pypi: Bump sphinx from 7.2.6 to 7.3.7
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 7.2.6 to 7.3.7.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v7.2.6...v7.3.7)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 10:05:51 +02:00
Markus Heiser
d593055888 [fix] ionic.io/ionicons - add back missing class="ionicon"
Seems to me svg2jinja added the class in the past .. but no longer in new builds
/ this patch adds the class back by using addAttributesToSVGElement [1].

To test this patch use:

    $ ./manage themes.simple
    $ cat searx/templates/simple/icons.html

and check `class="ionicon"` is in the outer `<svg ..>` tags.

[1] https://svgo.dev/docs/plugins/add-attributes-to-svg-elements/
[2] https://ionic.io/ionicons

Closes: https://github.com/searxng/searxng/issues/3383
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-04-27 09:33:20 +02:00
Bnyro
42b58eb448 [feat] media.ccc.de: implement module with pagination and iframe 2024-04-27 08:55:26 +02:00
dependabot[bot]
a56b4a1648 [upd] pypi: Bump pallets-sphinx-themes from 2.1.1 to 2.1.2
Bumps [pallets-sphinx-themes](https://github.com/pallets/pallets-sphinx-themes) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/pallets/pallets-sphinx-themes/releases)
- [Changelog](https://github.com/pallets/pallets-sphinx-themes/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/pallets-sphinx-themes/compare/2.1.1...2.1.2)

---
updated-dependencies:
- dependency-name: pallets-sphinx-themes
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 08:30:17 +02:00
dependabot[bot]
4719c004ea [upd] pypi: Bump redis from 5.0.3 to 5.0.4
Bumps [redis](https://github.com/redis/redis-py) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v5.0.3...v5.0.4)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 08:24:23 +02:00
Ivan G
0e09014df5
Add uWSGI die-on-term flag (#3429) 2024-04-26 23:42:29 +02:00
searxng-bot
41f415aabf [l10n] update translations from Weblate
f4861e2c3 - 2024-04-26 - SomeTr <SomeTr@users.noreply.translate.codeberg.org>
2024-04-26 09:14:03 +02:00
dependabot[bot]
0081870305 [upd] pypi: Bump selenium from 4.19.0 to 4.20.0
Bumps [selenium](https://github.com/SeleniumHQ/Selenium) from 4.19.0 to 4.20.0.
- [Release notes](https://github.com/SeleniumHQ/Selenium/releases)
- [Commits](https://github.com/SeleniumHQ/Selenium/compare/selenium-4.19.0...selenium-4.20.0)

---
updated-dependencies:
- dependency-name: selenium
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-26 09:10:46 +02:00
Markus Heiser
ddaa6ed759 [fix] add missing localizable (gettext) messages to searxng.msg
To test this patch I used .. and checked the diff of the `messages.pot` file::

    $ ./manage pyenv.cmd pybabel extract -F babel.cfg \
              -o ./searx/translations/messages.pot searx/
    $ git diff ./searx/translations/messages.pot

----

hint from @dalf: f-string are not supported [1] but there is no error [2].

[1] python-babel/babel#594
[2] python-babel/babel#715

Closes: https://github.com/searxng/searxng/issues/3412
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-04-26 07:34:32 +02:00
Bnyro
0a4280a137 [refactor] translation engines: add translate category
Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2024-04-26 07:33:28 +02:00
Bnyro
91522f3801 [feat] engine: implementation of LibreTranslate
Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2024-04-26 07:33:28 +02:00
Grant Lanham Jr
e0214412f8 Update .gitignore to ignore .python-version 2024-04-24 16:01:50 +02:00
searxng-bot
af3be2b12b [l10n] update translations from Weblate
b58f11366 - 2024-04-17 - Right202209 <Right202209@users.noreply.translate.codeberg.org>
43b601950 - 2024-04-17 - return42 <return42@users.noreply.translate.codeberg.org>
5cac16eaf - 2024-04-17 - return42 <return42@users.noreply.translate.codeberg.org>
88b5396d5 - 2024-04-17 - return42 <return42@users.noreply.translate.codeberg.org>
515161ddc - 2024-04-17 - return42 <return42@users.noreply.translate.codeberg.org>
7f8e70b10 - 2024-04-17 - return42 <return42@users.noreply.translate.codeberg.org>
247777e50 - 2024-04-10 - Right202209 <Right202209@users.noreply.translate.codeberg.org>
1b0c91d0f - 2024-04-07 - shadow3x3x3 <shadow3x3x3@users.noreply.translate.codeberg.org>
f7f160fd0 - 2024-04-06 - vducong <vducong@users.noreply.translate.codeberg.org>
62cc9ce67 - 2024-04-06 - mrintegrity <mrintegrity@users.noreply.translate.codeberg.org>
131bec469 - 2024-04-06 - omfj <omfj@users.noreply.translate.codeberg.org>
bceb0dbec - 2024-04-06 - Uzakmo <Uzakmo@users.noreply.translate.codeberg.org>
51330ae18 - 2024-04-05 - tegcope <tegcope@users.noreply.translate.codeberg.org>
79a2eb668 - 2024-04-05 - sserra <sserra@users.noreply.translate.codeberg.org>
b3c2827e5 - 2024-04-05 - sserra <sserra@users.noreply.translate.codeberg.org>
ba46f8672 - 2024-04-03 - meskobalazs <meskobalazs@users.noreply.translate.codeberg.org>
b58a3eff1 - 2024-04-04 - return42 <return42@users.noreply.translate.codeberg.org>
3a9c022ea - 2024-04-03 - meskobalazs <meskobalazs@users.noreply.translate.codeberg.org>
424ea8188 - 2024-04-03 - Kita Ikuyo <searinminecraft@courvix.com>
2024-04-21 11:16:40 +02:00
Bnyro
644ae51417 [fix] yahoo: result titles are getting mixed together 2024-04-20 17:00:17 +02:00
dependabot[bot]
0f70e4d305 [upd] pypi: Bump sphinx-issues from 4.0.0 to 4.1.0
Bumps [sphinx-issues](https://github.com/sloria/sphinx-issues) from 4.0.0 to 4.1.0.
- [Commits](https://github.com/sloria/sphinx-issues/compare/4.0.0...4.1.0)

---
updated-dependencies:
- dependency-name: sphinx-issues
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 10:43:53 +02:00
mrpaulblack
5e4ab964b7 [feat] template: add apple-touch-icon in html header
* this makes it possible to add SearXNG to iOS devices homescreen with a proper icon
2024-04-18 12:34:17 +02:00
singletail
1746eecf2b [fix] engine: youtube_api - ignore channels / prevent exceptions
`youtube_api.py` throws an exception if the search results contain a channel, as
channels have no videoId.  This PR adds a keycheck for parsing the json response.
2024-04-13 08:41:00 +02:00
Austin-Olacsi
c92846dca8 [fix] dead URL in settings.yml 2024-04-13 07:03:45 +02:00
dependabot[bot]
c8dca20548 [upd] npm: Bump eslint in /searx/static/themes/simple
Bumps [eslint](https://github.com/eslint/eslint) from 8.57.0 to 9.0.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.57.0...v9.0.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 18:11:42 +02:00
dependabot[bot]
9631e213fe [upd] pypi: Bump flask from 3.0.2 to 3.0.3
Bumps [flask](https://github.com/pallets/flask) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: flask
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 17:32:40 +02:00
dependabot[bot]
bbd2a4350a [upd] pypi: Bump lxml from 5.1.0 to 5.2.1
Bumps [lxml](https://github.com/lxml/lxml) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-5.1.0...lxml-5.2.1)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 17:31:38 +02:00
Diagonalo
6458490271 [mod] engine 'mwmbl: Update API URL 2024-04-10 06:51:28 +02:00
Markus Heiser
f1a148f53e [fix] ddg engine: if no vqd value can be determined, don't save None
Closes: https://github.com/searxng/searxng/issues/3370
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-04-08 10:56:11 +02:00
Markus Heiser
bd6ff29f8f [fix] remove usage of no longer existing names from lxml
In lxml 5.1.1 the private name `_ElementStringResult` in module `lxml.etree`
does no longer exists.

This code was written nearly a decade ago, its no longer clear what the
intention `_ElementStringResult` and `_ElementUnicodeResult` had been. It can be
assumed that these classes will no longer occur.

Closes: https://github.com/searxng/searxng/issues/3368
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-04-08 10:55:23 +02:00
Markus Heiser
26a92c1a8d [fix] new builds of icons.html do miss class="ionicon"
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-04-08 09:38:18 +02:00
Markus Heiser
dddd628f48 [build] /static 2024-04-08 09:07:45 +02:00
Yaksh Bariya
9f5268b4a7 [enh] add keybindings for copying URLs
'y': for in Vim-mode (yank)
'c': for SearXNG-mode (copy)

This should help keyboard heavy users
2024-04-08 09:07:45 +02:00
Yaksh Bariya
8bf2da9ce5 [enh] add editorconfig rules for javascript files
SearXNG has a bunch of javascript files which have an indentation of
two, but the '*' rule tells my editor to use 4 spaces.
2024-04-08 09:07:45 +02:00
Markus Heiser
4acb52f68f [fix] even if limiter not activated, botdetection must be activated
Closes: #2975
Closes: #2995

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-04-08 07:53:04 +02:00
Austin-Olacsi
b6fe2cad71 [mod] Ask engine: remove tracking paramaters and set max page to 5 2024-04-08 07:50:14 +02:00
Bnyro
bf3845b093 [feat] engine: implementation of Open Meteo 2024-04-07 19:02:53 +02:00
Markus Heiser
f5bb64cca8 [fix] .dir-locals.el -> .dir-locals-template.el
The settungs in the .dir-locals.el do not work well for every emacs setup:

Add .dir-locals.el to the git-ignore list and move content to a template file.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-03-29 08:57:02 +01:00
return42
ad9537065a [data] update searx.data - update_firefox_version.py 2024-03-29 08:44:18 +01:00
return42
531942ed16 [data] update searx.data - update_ahmia_blacklist.py 2024-03-29 08:43:50 +01:00
dependabot[bot]
e8ee27e43c [upd] pypi: Bump selenium from 4.18.1 to 4.19.0
Bumps [selenium](https://github.com/SeleniumHQ/Selenium) from 4.18.1 to 4.19.0.
- [Release notes](https://github.com/SeleniumHQ/Selenium/releases)
- [Commits](https://github.com/SeleniumHQ/Selenium/compare/selenium-4.18.1...selenium-4.19.0)

---
updated-dependencies:
- dependency-name: selenium
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-29 08:43:24 +01:00
return42
433cfd868a [data] update searx.data - update_currencies.py 2024-03-29 08:42:16 +01:00
return42
22d68aa2a7 [data] update searx.data - update_engine_traits.py 2024-03-29 08:41:44 +01:00
return42
cc124b8f14 [data] update searx.data - update_engine_descriptions.py 2024-03-29 08:41:00 +01:00
searxng-bot
550ca55778 [l10n] update translations from Weblate
cd974f62f - 2024-03-27 - matheuspolachini <matheuspolachini@users.noreply.translate.codeberg.org>
98335c289 - 2024-03-27 - pixrobot <pixrobot@users.noreply.translate.codeberg.org>
986969118 - 2024-03-25 - pixrobot <pixrobot@users.noreply.translate.codeberg.org>
285674006 - 2024-03-24 - Yahya-Lando <Yahya-Lando@users.noreply.translate.codeberg.org>
2024-03-29 08:23:44 +01:00
Mikkel Denker
b21aaa8907 Add user-agent to stract requests 2024-03-22 13:40:46 +01:00
searxng-bot
32bd55e268 [l10n] update translations from Weblate
522463f6a - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
8ec374759 - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
ac6b5dff0 - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
66b28f3e4 - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
a8e6cb73b - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
cd153923a - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
06110caf7 - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
6bc307e8a - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
eef184a70 - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
e5d537357 - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
d592adfb0 - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
0645b3404 - 2024-03-21 - return42 <return42@users.noreply.translate.codeberg.org>
da95a5907 - 2024-03-18 - jianhanquwan <jianhanquwan@users.noreply.translate.codeberg.org>
122a67a1f - 2024-03-17 - Oğuz Ersen <ersen@users.noreply.translate.codeberg.org>
39a7e1553 - 2024-03-15 - MonsoonRain <MonsoonRain@users.noreply.translate.codeberg.org>
2024-03-22 08:15:19 +01:00
dependabot[bot]
bec34cf690 Bump black from 24.2.0 to 24.3.0
Bumps [black](https://github.com/psf/black) from 24.2.0 to 24.3.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.2.0...24.3.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 07:37:23 +01:00
dependabot[bot]
e2af3e4970 [upd] pypi: Bump redis from 5.0.2 to 5.0.3
Bumps [redis](https://github.com/redis/redis-py) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v5.0.2...v5.0.3)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-15 09:59:21 +01:00
searxng-bot
f78cf94507 [l10n] update translations from Weblate
5ab8a4123 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
8fdac20fd - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
f904a2b41 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
da78b59cb - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
c3ee00845 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
a1a4001e9 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
b8ddc37d9 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
257c6e52b - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
de6899977 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
06f9a81ee - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
0b916dcc0 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
2f78ef012 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
098a44813 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
1bcbfb4b9 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
1c561b9ca - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
44ab09c8b - 2024-03-12 - GeoffreyGx <GeoffreyGx@users.noreply.translate.codeberg.org>
5b767a16c - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
8dec572be - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
28e8c648d - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
77ce67845 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
1d044f989 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
a10834f13 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
eaa1cdd6e - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
b49e3879a - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
f55b61fb7 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
4954e6e49 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
33b08dc66 - 2024-03-12 - return42 <return42@users.noreply.translate.codeberg.org>
58df517d4 - 2024-03-11 - GeoffreyGx <GeoffreyGx@users.noreply.translate.codeberg.org>
cee7ec3f0 - 2024-03-10 - alexgabi <alexgabi@disroot.org>
2024-03-15 09:49:09 +01:00
Markus Heiser
74f6dfb576 [fix] .pylintrc mode signature to conf-unix
In pylint and python's config parser [1] the default symbol for comments is '#'.
The dialect is based on unix, while the classic dialect comes from windows and
uses a semicolon for comments.

[1] https://docs.python.org/3/library/configparser.html#module-configparser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-03-14 14:18:26 +01:00