Alexandre Flament
8659212f5a
[fix] drop Python 2: use collections.abc.Iterable instead of collections.Iterable
2020-10-06 09:43:24 +02:00
Alexandre Flament
15013e64d8
[fix] drop Python 2: use importlib instead of imp.load_source
...
imp.load_source is not documented in Python 3
see documentation : https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly
partial fix of https://github.com/searx/searx/issues/1674
2020-10-06 09:42:11 +02:00
Alexandre Flament
bfdad7bc0f
[fix] opensearch.xml URL contains method and autocomplete parameters
...
When the user add searx as a search engine, the browser loads the /opensearch.xml URL without the cookies.
Without the query parameters, the user preferences are ignored (method and autocomplete).
In addition, opensearch.xml is modified to support automatic updates,
see https://developer.mozilla.org/en-US/docs/Web/OpenSearch
2020-10-06 00:54:37 +02:00
Alexandre Flament
584760cf54
Merge pull request #2237 from dalf/mod-engines-init
...
Mod engines init
2020-10-05 11:20:46 +02:00
Alexandre Flament
6c39917c4d
[mod] webapp.py: update engines initialization condition
...
Always call initialize engines except on the first run of werkzeug with the reload feature.
the reload feature is activated when:
* searx_debug is True (SEARX_DEBUG environment variable or settings.yml)
* FLASK_APP=searx/webapp.py FLASK_ENV=development flask run (see https://flask.palletsprojects.com/en/1.1.x/cli/ )
Fix SEARX_DEBUG=0 make docs
docs/admin/engines.rst : engines are initialized
See https://github.com/searx/searx/issues/2204#issuecomment-701373438
2020-10-05 11:13:32 +02:00
Alexandre Flament
b728cb610b
Merge pull request #2241 from dalf/move-extract-text-and-url
...
Move the extract_text and extract_url functions to searx.utils
2020-10-04 09:06:20 +02:00
Alexandre Flament
e2cd9b65bb
Merge pull request #2239 from dalf/mod-preferences
...
[mod] preferences.py: check language setting with a regex instead of match_language
2020-10-04 09:05:14 +02:00
Finn
53c8d945b4
[enh] Add SepiaSearch engine ( #2227 )
...
supported_languages values: see https://framagit.org/framasoft/peertube/search-index/-/blob/master/client/src/views/Search.vue#L618-641
2020-10-03 13:00:10 +02:00
Alexandre Flament
8f914a28fa
[mod] searx.utils.normalize_url: remove Yahoo hack
...
* The hack for Yahoo URLs is not necessary anymore. (see searx.engines.yahoo.parse_url)
* move the URL normalization in extract_url to normalize_url
2020-10-03 10:02:50 +02:00
Alexandre Flament
c1d10bde02
[mod] searx/utils.py: add docstring
2020-10-02 18:17:01 +02:00
Alexandre Flament
2006eb4680
[mod] move extract_text, extract_url to searx.utils
2020-10-02 18:13:56 +02:00
Alexandre Flament
507896c115
[mod] preferences.py: check language setting with a regex instead of match_language
2020-10-01 11:29:31 +02:00
Markus Heiser
8162d7aff4
[fix] google engine - div classes has been renamed in HTML reult
...
Since 1. October 2020 google has changed the 'class' attribute of the HTML
result page.
Fix the xpath expressions and ignore <div class="g" ../> sections which do not
match to title's xpath expression.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-10-01 09:44:29 +02:00
Alexandre Flament
9740618227
Merge pull request #2226 from dalf/fix-searx-migration
...
[fix] migration from github.com/asciimoo/searx to github.com/searx/searx : fix URLs
2020-09-29 12:35:11 +02:00
Qt Resynth
246b8cd1a4
[fix] about.html: fix small inconsistencies in about page ( #2219 )
2020-09-28 16:56:25 +02:00
Alexandre Flament
f204e4903d
[fix] migration from github.com/asciimoo/searx to github.com/searx/searx : fix URLs
2020-09-28 16:44:14 +02:00
Adam Tauber
8d47142f35
Merge pull request #2189 from dalf/architecture-clean-up
...
Architecture clean up
2020-09-28 14:56:23 +02:00
Alexandre Flament
93f7f7eee2
[mod] upgrade requests to version 2.24.0. use ssl instead of pyopenssl.
...
requests 2.24.0 uses the ssl module except if it doesn't support SNI, in this case searx fallbacks to pyopenssl.
searx logs a critical message and exit if the ssl modules doesn't support SNI and pyOpenSSL is not installed.
searx logs a critical message and exit if the ssl version is older than 1.0.2.
in requirements.txt, pyopenssl is still required to install searx as a fallback.
2020-09-26 19:30:27 +02:00
Alexandre Flament
f2f3300bde
[mod] more typing
2020-09-24 16:26:00 +02:00
Alexandre Flament
485a502b88
[mod] add typing and __slots__
2020-09-22 19:05:05 +02:00
Alexandre Flament
678699beaf
[mod] searx/webadapter.py: add get_selected_categories share common code with get_search_query_from_webapp
...
Update searx/webapp.py to use get_selected_categories
Close #2142
2020-09-22 18:59:51 +02:00
Alexandre Flament
d5b5e48f04
[mod] searx/webadapter.py: each web parameter has a dedicated function (parse_pageno, page_lang,....).
2020-09-22 18:59:51 +02:00
Alexandre Flament
691d12726b
[mod] check the engine tokens in searx/webadapter.py instead of searx/search.py
2020-09-22 18:59:51 +02:00
Alexandre Flament
eecfff2689
[mod] check time_range parameter in searx/webadapter.py
2020-09-22 18:59:51 +02:00
Alexandre Flament
2929495112
[mod] add searx.search.EngineRef
...
was previously a Dict with two or three keys: name, category, from_bang
make clear that this is a engine reference (see tests/unit/test_search.py for example)
all variables using this class are renamed accordingly.
2020-09-22 18:59:51 +02:00
Alexandre Flament
2dbc0de0cd
[mod] add searx/webadapter.py
...
* move searx.search.get_search_query_from_webapp to searx.webadapter
* move searx.query.SearchQuery to searx.search
2020-09-22 18:59:51 +02:00
Qt Resynth
21dbc7e852
"Egde" → "Edge"
2020-09-22 17:44:32 +02:00
Alexandre Flament
e8df5d3f7f
[mod] searx.search: change function declaration: online then offline then utility functions.
2020-09-22 12:36:26 +02:00
Alexandre Flament
50e717c452
[mod] searx.search: remove unused global variable number_of_searches
2020-09-22 12:36:26 +02:00
Alexandre Flament
edd8dccd07
[mod] searx.query.RawTextQuery: getSearchQuery and changeSearchQuery rename to getQuery and changeQuery
...
getSearchQuery is confusing, the method returns a str not a SearchQuery object
2020-09-22 12:36:26 +02:00
Alexandre Flament
c4067a9d02
[mod] searx.search.Search: split the search method into different methods
2020-09-22 12:14:46 +02:00
Alexandre Flament
ad0758e52a
[mod] add searx/webutils.py
...
contains utility functions and classes used only by webapp.py
2020-09-22 11:57:06 +02:00
Alexandre Flament
f9664037a6
[mod] refactor searx.webapp.get_locale
...
* Log each call to get_locale: display the URL, the locale and the source (browser, preferences, form).
* Rename _get_browser_language to _get_browser_or_settings_language to match the actual code.
2020-09-22 11:49:15 +02:00
Alexandre Flament
2fd582d457
[fix] /autocompleter: return HTTP 400 when q is empty as intent.
...
Fix commit c225db45c8
2020-09-22 11:38:37 +02:00
Marc Abonce Seguin
ecf5899153
fetch google's search langs rather than ui langs
2020-09-22 11:37:44 +02:00
Marc Abonce Seguin
c86504b47a
fix utils/fetch_languages to work with new languages
2020-09-22 11:37:44 +02:00
Marc Abonce Seguin
41800835f9
fetch supported languages for startpage engine
2020-09-22 11:37:44 +02:00
Marc Abonce Seguin
ea9d979cc3
add language names in qwant's fetch languages function
2020-09-22 11:37:44 +02:00
Alexandre Flament
375cbd12b3
Merge pull request #2205 from dalf/fix-simple-theme-autocomplete
...
[fix] simple theme: fix autocomplete
2020-09-19 16:02:01 +02:00
Alexandre Flament
c23401e9fa
[fix] simple theme: fix autocomplete
...
AJAX requests send the X-Requested-With HTTP header,
so searx.webapp.autocompleter returns the results with the expected data format.
Related to #2127
Close #2203
2020-09-19 10:13:05 +02:00
Alexandre Flament
6deb85072a
[fix] searx.utils.HTMLTextExtractor: invalid HTML don't raise an Exception
...
Close #2188
2020-09-13 10:28:11 +02:00
Alexandre Flament
df12ed6e55
[mod] searx.RawTextQuery: the constructor call parse_query
2020-09-12 15:25:58 +02:00
Alexandre Flament
bdac99d4f0
Drop Python 2 (5/n): searx.utils.is_valid_lang, input parameter is a str instead of bytes
...
Fix bug in translated.py and dictzone.py
2020-09-10 10:49:42 +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
7888377743
Drop Python 2 (3/n): objects
2020-09-10 10:39:04 +02:00
Dalf
78df10fb55
Drop Python 2 (2/n): templates
2020-09-10 10:39:04 +02:00
Dalf
1022228d95
Drop Python 2 (1/n): remove unicode string and url_utils
2020-09-10 10:39:04 +02:00
Marc Abonce Seguin
7e82817925
wait for img to load before hiding infobox toggle
2020-09-10 09:54:30 +02:00
Marc Abonce Seguin
ab20ca182c
use Wikipedia's REST v1 API
2020-09-10 09:54:30 +02:00
Alexandre Flament
d0f9778c2a
[mod] results.py: code clean up ( #2140 )
2020-09-08 10:09:11 +02:00
Noémi Ványi
f0ca1c3483
[enh] Add command line engines: git grep, find, etc. ( #2128 )
...
A new "base" engine called command is introduced. It is the foundation for all command line engines for now.
You can use this engine to create your own command line engine.
Add some engines (commented out to make sure no one enables anything accidentally):
* git grep: This engine lets you grep in the searx repo.
* locate: If locate is installed and initialized, you can search on the FS.
* find: You can find files with a specific name from where you started searx.
* pattern search in files: This engine utilizes the command fgrep.
* regex search in files: This engine runs `grep` to find a file based on its contents.
2020-09-08 09:51:53 +02:00
Alexandre Flament
3397382754
[enh] stop searx when an engine raise an SyntaxError exception ( #2177 )
...
and some other exceptions:
* KeyboardInterrupt
* SystemExit
* RuntimeError
* SystemError
* ImportError: an engine with an unmet dependency will stop everything.
2020-09-07 15:39:26 +02:00
Scott Wallace
8bcba31e31
Add key to settings.yml for opening result links in a new tab
...
Closes #1552
Closes #444
2020-09-01 18:10:24 +01:00
Adam Tauber
4a913247b2
[enh] add option to configure proxies per engine - closes #1827
2020-09-01 15:59:22 +02:00
Alexandre Flament
b329058c1a
Revert "[enh] test: load each engine to check for syntax errors"
...
This reverts commit 4fb3ed2c63
.
2020-08-31 19:00:06 +02:00
Singustromo
315cdfee09
Added metager-search ( #2139 )
...
* Added metager-search
2020-08-31 18:42:51 +02:00
Adam Tauber
6f9aa0e258
Merge pull request #2160 from dalf/test_load_engine
...
[enh] test: load each engine to check for syntax errors
2020-08-31 14:29:52 +02:00
Adam Tauber
6ded6e7a9a
[fix] skip uncomplete image results - closes #1496
2020-08-31 14:07:45 +02:00
Dalf
4fb3ed2c63
[enh] test: load each engine to check for syntax errors
2020-08-28 12:12:32 +02:00
Marc Abonce Seguin
a2430154b9
fix selects in preferences so they look consistent ( #2150 )
2020-08-27 21:55:47 +02:00
Marc Abonce Seguin
0d8970c8f2
only return one url per "type" in Wikidata ( #2151 )
...
i.e. only one official website, one Twitter, etc.
2020-08-27 21:44:48 +02:00
Adam Tauber
079783e993
[fix] pylint
2020-08-27 14:38:39 +02:00
Adam Tauber
30d16e7ee6
[fix] use base_url for prefix of sharing 'currenly saved preferences' - fixes #1249 by @matejc
2020-08-27 14:29:38 +02:00
Adam Tauber
6278538890
[fix] add search language and time range filter to suggestions - fixes #1314
2020-08-27 14:26:38 +02:00
Émilien Devos
a5e6423c39
[fix] opensearch on chromium for android ( #2132 )
2020-08-18 18:29:58 +02:00
Émilien Devos
27d74826f1
[enh] add yggtorrent engine ( #2135 )
2020-08-18 18:02:41 +02:00
Emilien Devos
c15a91a534
[fix] piratebay engine date and pep8 indentation
2020-08-10 23:44:53 +02:00
Emilien Devos
52d78d8418
[fix] piratebay engine
2020-08-10 20:26:59 +02:00
Adam Tauber
77103c7874
Merge pull request #2116 from mikeri/invidiousres
...
Include author and video length in Invidious results
2020-08-10 12:49:17 +02:00
Adam Tauber
e6d002a730
Merge pull request #2130 from msafadieh/master
...
Make default query submission method configurable
2020-08-10 12:15:45 +02:00
Marc Abonce Seguin
0601f2bb48
add toggle to resize infobox
2020-08-10 00:12:45 -07:00
Marc Abonce Seguin
57bad502a6
add visually-hidden css class to pointhi style
2020-08-09 20:44:26 -07:00
Marc Abonce Seguin
74270a3fc2
add class for infobox's official url
2020-08-09 20:44:26 -07:00
Marc Abonce Seguin
001eb047cd
set max-height on infobox's images
2020-08-09 20:44:26 -07:00
Marc Abonce Seguin
c9c39b3e79
add engine's name in infobox's header
2020-08-09 15:42:55 -07:00
Marc Abonce Seguin
574e99c4de
reduce space between title and url in infobox header
2020-08-09 15:42:55 -07:00
Mohamad Safadieh
8dff74dd1b
Make default query submission method configurable
...
Sending queries through POST, while better for privacy, breaks functionality
with certain extensions (e.g. Firefox containers). Since Firefox does
not send cookies when requesting `/opensearch.xml`, users cannot easily
switch to GET on the client side unless they make a custom search
engine. This commit allows admins to modify the default method on their
side so they can set it to GET if needed.
2020-08-09 17:04:47 -04:00
Mohamad Safadieh
1ea35605d1
Use query params for browser autocomplete
...
Sending query params over GET seems to be the only way to be able to
enable autocomplete in the browser. This commit adds the necessary URL
formatting to opensearch.xml. In order to identify queries coming from
the URL bar (rather than an AJAX request), which requires a different
JSON format and MIME type, the request headers are checked for
"X-Requested-With: XMLHttpRequest" which is added by jQuery request.
2020-08-09 07:59:49 -04:00
Vlad
f678388dbc
Fix google images 'get image' button bug from issue #2103 ( #2115 )
...
Closes #2103
2020-08-08 19:35:22 +02:00
Michael Ilsaas
a1ce141c99
add peertube engine ( #2109 )
2020-08-08 19:22:53 +02:00
Vlad
c3af520c33
Fix search error with query 'random sha256'
2020-08-04 15:47:41 +03:00
Michael Ilsaas
2ed8ad7691
include length in invidious results
2020-08-02 13:31:04 +02:00
Michael Ilsaas
0305fe0dd5
include author in invidious results
2020-08-02 13:30:38 +02:00
Noémi Ványi
935321226b
Merge branch 'master' into patch-1
2020-08-01 21:52:19 +02:00
Vlad
d83ee1e413
Add clearfix to fix issue 2110
2020-07-31 20:08:45 +03:00
asht
3b8bd0770b
Change isAlive() to is_alive() as isAlive() is unsupported in newer Python versions
2020-07-31 00:28:54 +03:00
Adam Tauber
d75f98c764
Merge pull request #2106 from kvch/revert-open-result-on-new-tab-plugin
...
Revert "[enh] new plugin to open results on new browser tabs"
2020-07-30 21:25:42 +02:00
Lynda Lopez
b06fc31942
DOI improvements: enable HTTPS, update URL of doai.io ( #1718 )
...
- enabling HTTPS for sci-hub.tw by default
- making sci-hub the default DOI resolver as it has the largest collection of scientific articles.
- replaced doai.io with dissem.in, as it redirects to this new domain.
Co-authored-by: Aurora of Earth <auroraofearth@ya.ru>
2020-07-29 22:31:48 +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
Noémi Ványi
157fa1adb3
add Gitea engine
...
Closes #1448
Closes #1447
2020-07-28 22:37:37 +02:00
TheEvilSkeleton
925be22d8f
Replaced dash with em in searx description ( #1973 )
...
Very small change, but it looks better
2020-07-28 21:54:35 +02:00
Venca24
d3bc171a15
[add] naver engine
...
It adds new search engine for users from the South Korea (and therefore it is disabled by default). Closes #1553
2020-07-28 21:42:48 +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