summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-27Merge pull request #100 from return42/webapp-pylintAlexandre Flament
[pylint] webapp.py
2021-05-27Merge pull request #93 from return42/genius-miscMarkus Heiser
Some minor Genius improvements
2021-05-27Merge pull request #103 from searxng/add-sqlite-engine2Markus Heiser
[enh] add offline engine for sqlite database
2021-05-27Merge pull request #96 from return42/unsplashAlexandre Flament
lint & fix unsplash engine
2021-05-27[enh] add offline engine for sqlite databaseAlexandre Flament
To test & demonstrate this implementation download: https://liste.mediathekview.de/filmliste-v2.db.bz2 and unpack into searx/data/filmliste-v2.db, in your settings.yml define a sqlite engine named "demo":: - name : demo engine : sqlite shortcut: demo categories: general result_template: default.html database : searx/data/filmliste-v2.db query_str : >- SELECT title || ' (' || time(duration, 'unixepoch') || ')' AS title, COALESCE( NULLIF(url_video_hd,''), NULLIF(url_video_sd,''), url_video) AS url, description AS content FROM film WHERE title LIKE :wildcard OR description LIKE :wildcard ORDER BY duration DESC disabled : False Query to test: "!demo concert" This is a rewrite of the implementation from commit [1] [1] searx/searx@8e90a21 Suggested-by: @virtadpt searx/searx#2808
2021-05-27[pylint] webapp.py - fix all messages from pylintMarkus Heiser
No functional change, just some linting. - fix messages from pylint (see below) - log where general Exceptions are catched (broad-except) - normalized various indentation - To avoid clashes with common names, add prefix 'route_' to all @app.route decorated functions. Fixed messages:: searx/webapp.py:744:0: C0301: Line too long (146/120) (line-too-long) searx/webapp.py:756:0: C0301: Line too long (132/120) (line-too-long) searx/webapp.py:730:9: W0511: TODO, check if timezone is calculated right (fixme) searx/webapp.py:1:0: C0114: Missing module docstring (missing-module-docstring) searx/webapp.py:126:8: I1101: Module 'setproctitle' has no 'setthreadtitle' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member) searx/webapp.py:126:36: W0212: Access to a protected member _name of a client class (protected-access) searx/webapp.py:131:4: R1722: Consider using sys.exit() (consider-using-sys-exit) searx/webapp.py:141:4: R1722: Consider using sys.exit() (consider-using-sys-exit) searx/webapp.py:255:38: W0621: Redefining name 'request' from outer scope (line 32) (redefined-outer-name) searx/webapp.py:307:4: W0702: No exception type(s) specified (bare-except) searx/webapp.py:374:24: W0621: Redefining name 'theme' from outer scope (line 155) (redefined-outer-name) searx/webapp.py:420:8: R1705: Unnecessary "else" after "return" (no-else-return) searx/webapp.py:544:4: W0621: Redefining name 'preferences' from outer scope (line 917) (redefined-outer-name) searx/webapp.py:551:4: W0702: No exception type(s) specified (bare-except) searx/webapp.py:566:15: W0703: Catching too general exception Exception (broad-except) searx/webapp.py:613:4: R1705: Unnecessary "elif" after "return" (no-else-return) searx/webapp.py:690:8: W0621: Redefining name 'search' from outer scope (line 661) (redefined-outer-name) searx/webapp.py:661:0: R0914: Too many local variables (22/20) (too-many-locals) searx/webapp.py:674:8: R1705: Unnecessary "else" after "return" (no-else-return) searx/webapp.py:697:11: W0703: Catching too general exception Exception (broad-except) searx/webapp.py:748:4: R1705: Unnecessary "elif" after "return" (no-else-return) searx/webapp.py:661:0: R0911: Too many return statements (9/6) (too-many-return-statements) searx/webapp.py:661:0: R0912: Too many branches (29/12) (too-many-branches) searx/webapp.py:661:0: R0915: Too many statements (74/50) (too-many-statements) searx/webapp.py:931:4: W0621: Redefining name 'image_proxy' from outer scope (line 1072) (redefined-outer-name) searx/webapp.py:946:4: W0621: Redefining name 'stats' from outer scope (line 1132) (redefined-outer-name) searx/webapp.py:917:0: R0914: Too many local variables (34/20) (too-many-locals) searx/webapp.py:917:0: R0912: Too many branches (19/12) (too-many-branches) searx/webapp.py:917:0: R0915: Too many statements (65/50) (too-many-statements) searx/webapp.py:1063:44: W0621: Redefining name 'preferences' from outer scope (line 917) (redefined-outer-name) searx/webapp.py:1072:0: R0911: Too many return statements (9/6) (too-many-return-statements) searx/webapp.py:1151:4: C0103: Variable name "SORT_PARAMETERS" doesn't conform to '(([a-z][a-zA-Z0-9_]{2,30})|(_[a-z0-9_]*)|([a-z]))$' pattern (invalid-name) searx/webapp.py:1297:0: R1721: Unnecessary use of a comprehension (unnecessary-comprehension) searx/webapp.py:1303:0: C0103: Argument name "e" doesn't conform to '(([a-z][a-zA-Z0-9_]{2,30})|(_[a-z0-9_]*))$' pattern (invalid-name) searx/webapp.py:1303:19: W0613: Unused argument 'e' (unused-argument) searx/webapp.py:1338:23: W0621: Redefining name 'app' from outer scope (line 162) (redefined-outer-name) searx/webapp.py:1318:0: R0903: Too few public methods (1/2) (too-few-public-methods) Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-26[pylint] webapp.py - fix all wrong-import-order messages from pylintMarkus Heiser
pylint message: wrong-import-order Respect PEP8 import order (standard imports first, then third-party libraries, then local imports). pylint message: wrong-import-position Do not mix code & imports BTW: - only one import per line - replace licence text by SPDX tag Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-26[fix] webapp.py - running without installation is not supportedMarkus Heiser
Remove extension of the sys.path (aka PYTHONPATH). Running instance directly from repository's folder is a relict from the early beginning in 2014 (fd651083f) and is no longer supported. Since commit dd46629 was merged the command line 'searx-run' exists and should be used. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-26Merge pull request #94 from return42/pylint-networkAlexandre Flament
Pylint searx.network
2021-05-25[mod] unsplash engine - activated by defaultMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-25[fix] unsplash engine - 'searx:result: invalid title:'Markus Heiser
- Use result 'alt_description' as title, if not given use default title 'unknown'. - Use result 'description' from unsplash as 'content' Fix error:: DEBUG:searx:result: invalid title: {..., 'title': None, 'content': '', 'engine': 'unsplash'} Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-25[pylint] searx/engines/unsplash.py, add logger & norm indentationMarkus Heiser
- fix messages from pylint - add logger and log request URL - normalized various indentation Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-25Merge pull request #92 from return42/xpath-miscAlexandre Flament
Xpath enhencements
2021-05-24[coding-style] searx/network/network.py - normalized indentationsMarkus Heiser
No functional change! Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-24[coding-style] searx/network/client.py - normalized indentationsMarkus Heiser
No functional change! Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-24[pylint] searx/network/raise_for_httperror.pyMarkus Heiser
No functional change! - fix messages from pylint - add ``global NETWORKS`` - normalized indentations Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-24[pylint] searx/network/network.py & add global (NETWORKS)Markus Heiser
No functional change! - fix messages from pylint - add ``global NETWORKS`` Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-24[pylint] searx/network/client.py & add global (TRANSPORT_KWARGS)Markus Heiser
No functional change! - fix messages from pylint - add ``global TRANSPORT_KWARGS`` - normalized python_socks imports Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-24[pylint] searx/network/__init__.py & add global (THREADLOCAL)Markus Heiser
No functional change! - fix messages from pylint - add ``global THREADLOCAL`` - normalized various indentation Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-24[fix] engine genius should not use the video templateMarkus Heiser
Remove 'template' from result. Engine genius should not use the video template. BTW: fix indentations Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-24[pylint] searx/engines/genius.py, add logger & normalized indentationMarkus Heiser
- pylint searx/engines/genius.py - add logger and log ignored exceptions - normalized various indentation Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-23[enh] XPath engine - add time safe-search supportMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-23[enh] XPath engine - add time range supportMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-23[enh] XPath engine - add ISO 639-1 {lang} replacement to search-URLMarkus Heiser
BTW: remove obsolte params['query'] and not needed paging condition. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-23Merge pull request #91 from return42/xpath-miscMarkus Heiser
[doc] add documentation about the XPath engine
2021-05-23[doc] use a hint instead of a warning about searxngMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-23[doc] add documentation about the XPath engineMarkus Heiser
- pylint searx/engines/xpath.py - fix indentation of some long lines - add logging - add doc-strings Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-22Merge pull request #85 from searxng/fix-metrics-offline-engineMarkus Heiser
Fix metrics offline engine
2021-05-22[refactor] metrics.get_reliabilities() - make code more readableMarkus Heiser
- init stat values by None - drop round_or_none - don't try to get percentage if base is 'None' Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-22[fix] offline engines: fix templates /stats and /preferencesAlexandre Flament
2021-05-22[fix] metrics: processing time = total time if there is no http timeAlexandre Flament
It was previsouly None Fix /stats
2021-05-22[fix] offline engine: don't crash on time recordingAlexandre Flament
2021-05-21Merge pull request #86 from searxng/remove-call-to-gcAlexandre Flament
[mod] remove gc.collect() after each user request
2021-05-21[pylint] searx/search/__init__.py & replace lic-text by SPDX tagMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-21[mod] remove gc.collect() after each user requestAlexandre Flament
2021-05-21Merge pull request #88 from searxng/dependabot/pip/master/sphinx-4.0.2Markus Heiser
Bump sphinx from 4.0.1 to 4.0.2
2021-05-21Bump sphinx from 4.0.1 to 4.0.2dependabot[bot]
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.0.1 to 4.0.2. - [Release notes](https://github.com/sphinx-doc/sphinx/releases) - [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES) - [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.0.1...v4.0.2) Signed-off-by: dependabot[bot] <support@github.com>
2021-05-21Merge pull request #87 from ↵Markus Heiser
searxng/dependabot/pip/master/pallets-sphinx-themes-2.0.1 Bump pallets-sphinx-themes from 2.0.0 to 2.0.1
2021-05-21Bump pallets-sphinx-themes from 2.0.0 to 2.0.1dependabot[bot]
Bumps [pallets-sphinx-themes](https://github.com/pallets/pallets-sphinx-themes) from 2.0.0 to 2.0.1. - [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.0.0...2.0.1) Signed-off-by: dependabot[bot] <support@github.com>
2021-05-20Merge pull request #84 from searxng/fix-test-ignore-etc-settingsAlexandre Flament
[fix] unit test: don't load /etc/searx/settings.yml
2021-05-19Merge pull request #66 from return42/docker-buildxAlexandre Flament
review of docker entry point & docker documentation
2021-05-18[fix] unit test: don't load /etc/searx/settings.ymlAlexandre Flament
Add a new environment variable SEARX_DISABLE_ETC_SETTINGS to disable loading of /etc/searx/settings.yml unit tests: * set SEARX_DISABLE_ETC_SETTINGS to 1 * remove SEARX_SETTINGS_PATH if it exists
2021-05-18Merge pull request #81 from return42/csp-bar-graphAlexandre Flament
[fix] make /stats more CSP compliant
2021-05-18Merge pull request #83 from return42/fix-archive-isAlexandre Flament
[fix] engine "archive is" - search_url has been changed
2021-05-17[emacs] don't use tabs, except in makefile-gmake-modeMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-17[static] make /stats more CSP compliant- make themes.allMarkus Heiser
Based on commits - 0507e185 [fix] bar graph and rename CSS class engine-scores -> engine-score - 3e9ad7ae [fix] make /stats more CSP compliant - github issue form - 34859d0e [fix] make /stats more CSP compliant - oscar theme - 0a6c4884 [fix] make /stats more CSP compliant - simple theme - cdfb4b7f [fix] make /stats more CSP compliant - bar graph - 965817f2 [fix] simple theme - generate missing sourceMap file this patch is generated by:: make themes.all Reported-by: https://github.com/searxng/searxng/issues/57 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-17[fix] bar graph and rename CSS class engine-scores -> engine-scoreMarkus Heiser
- drop #main_stats selector in stats.less - 'engine-score' exists before this PR. - untabify searx/static/themes/__common__/less/stats.less for details see comment at: https://github.com/searxng/searxng/pull/81/files/d93bec7638908cae64530727d4e1539ae10bd144..1204e4f07e932029d66b4674a3474918228459a6#r633571496 Suggested-by: @dalf in commit 1204e4f0 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-17[fix] make /stats more CSP compliant - github issue formMarkus Heiser
Hide textarea from github issue form:: ./__common__/new_issue.html:6: <textarea name="body" style="display: none;">{{- '' -}} BTW: fix indentation. Reported-by: https://github.com/searxng/searxng/issues/57 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-17[fix] make /stats more CSP compliant - oscar themeMarkus Heiser
Replace oscar theme's *styles* (see below) by CSP compliant implementation in ``searx/static/themes/__common__/less/stats.less`` :: ./oscar/stats.html:29: <th scope="col" style="width:20rem;">{{ th_sort('name', _("Engine name")) }}</th> ./oscar/stats.html:30: <th scope="col" style="width:7rem; text-align: right;">{{ th_sort('score', _('Scores')) }}</th> ./oscar/stats.html:33: <th scope="col" style="text-align: right;">{{ th_sort('reliability', _('Reliability')) }}</th> ./oscar/stats.html:38: <td style="text-align: right;"> ./oscar/stats.html:91: <td style="text-align: right;"> {{ engine_reliabilities.get(engine_stat.name, {}).get('reliablity') }}</td> ./oscar/stats.html:109: <tbody style="padding-top: 1rem;"> ./oscar/stats.html:112: <th scope="row" style="width: 10rem">{{ _('Exception') }}</th><td>{{ error.exception_classname }}</td> ./oscar/stats.html:114: <th scope="row" style="width: 10rem">{{ _('Message') }}</th><td>{{ error.log_message }}</td> ./oscar/stats.html:116: <th scope="row" style="width: 10rem">{{ _('Percentage') }}</th><td style="width: 10rem">{{ error.percentage }}</td> ./oscar/stats.html:121: <span style="border-right: 1px solid gray; padding: 0 1rem 0 0; margin: 0 0 0 0.5rem;">{{ param }}</span> ./oscar/stats.html:138: <th scope="col" style="width: 10rem">{{ _('Failed test') }}</th> Reported-by: https://github.com/searxng/searxng/issues/57 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-17[fix] make /stats more CSP compliant - simple themeMarkus Heiser
Replace simple theme's *styles* (see below) by CSP compliant implementation in ``searx/static/themes/simple/less/stats.less`` :: ./simple/stats.html:26: <table style="max-width: 1280px; margin: 0 auto 0 0;"> ./simple/stats.html:28: <th scope="col" style="width:20rem;">{{ th_sort('name', _("Engine name")) }}</th> ./simple/stats.html:29: <th scope="col" style="width:7rem; text-align: right;">{{ th_sort('score', _('Scores')) }}</th> ./simple/stats.html:32: <th scope="col" style="text-align: right;">{{ th_sort('reliability', _('Reliability')) }}</th> ./simple/stats.html:37: <td style="text-align: right;"> ./simple/stats.html:90: <td style="text-align: right;"> {{ engine_reliabilities.get(engine_stat.name, {}).get('reliablity') }}</td> ./simple/stats.html:106: <table style="max-width: 1280px; margin: 1rem; border: 1px solid gray;"> ./simple/stats.html:107: <tbody style="padding-top: 1rem;"> ./simple/stats.html:110: <th scope="row" style="width: 10rem">{{ _('Exception') }}</th><td>{{ error.exception_classname }}</td> ./simple/stats.html:112: <th scope="row" style="width: 10rem">{{ _('Message') }}</th><td>{{ error.log_message }}</td> ./simple/stats.html:114: <th scope="row" style="width: 10rem">{{ _('Percentage') }}</th><td style="width: 10rem">{{ error.percentage }}</td> ./simple/stats.html:119: <span style="border-right: 1px solid gray; padding: 0 1rem 0 0; margin: 0 0 0 0.5rem;">{{ param }}</span> ./simple/stats.html:136: <th scope="col" style="width: 10rem">{{ _('Failed test') }}</th> Reported-by: https://github.com/searxng/searxng/issues/57 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>