Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
searx-engine
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gargantext
searx-engine
Commits
4b56a4bf
Unverified
Commit
4b56a4bf
authored
Jul 27, 2019
by
Alexandre Flament
Committed by
GitHub
Jul 27, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1653 from dalf/bug-fixes
Various bug fixes
parents
e1bb0e33
70a01e5f
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
39 additions
and
14 deletions
+39
-14
__init__.py
searx/engines/__init__.py
+16
-9
results.py
searx/results.py
+12
-3
search.py
searx/search.py
+9
-0
settings.yml
searx/settings.yml
+1
-1
webapp.py
searx/webapp.py
+1
-1
No files found.
searx/engines/__init__.py
View file @
4b56a4bf
...
...
@@ -57,11 +57,16 @@ engine_default_args = {'paging': False,
def
load_engine
(
engine_data
):
if
'_'
in
engine_
data
[
'name'
]
:
logger
.
error
(
'Engine name con
ains underscore: "{}"'
.
format
(
engine_data
[
'name'
]
))
engine_name
=
engine_data
[
'name'
]
if
'_'
in
engine_
name
:
logger
.
error
(
'Engine name con
tains underscore: "{}"'
.
format
(
engine_name
))
sys
.
exit
(
1
)
if
engine_name
.
lower
()
!=
engine_name
:
logger
.
warn
(
'Engine name is not lowercase: "{}", converting to lowercase'
.
format
(
engine_name
))
engine_name
=
engine_name
.
lower
()
engine_data
[
'name'
]
=
engine_name
engine_module
=
engine_data
[
'engine'
]
try
:
...
...
@@ -248,12 +253,14 @@ def load_engines(engine_list):
def
initialize_engines
(
engine_list
):
load_engines
(
engine_list
)
def
engine_init
(
engine_name
,
init_fn
):
init_fn
()
logger
.
debug
(
'
%
s engine: Initialized'
,
engine_name
)
for
engine_name
,
engine
in
engines
.
items
():
if
hasattr
(
engine
,
'init'
):
init_fn
=
getattr
(
engine
,
'init'
)
def
engine_init
():
init_fn
()
logger
.
debug
(
'
%
s engine initialized'
,
engine_name
)
logger
.
debug
(
'Starting background initialization of
%
s engine'
,
engine_name
)
threading
.
Thread
(
target
=
engine_init
)
.
start
()
if
init_fn
:
logger
.
debug
(
'
%
s engine: Starting background initialization'
,
engine_name
)
threading
.
Thread
(
target
=
engine_init
,
args
=
(
engine_name
,
init_fn
))
.
start
()
searx/results.py
View file @
4b56a4bf
...
...
@@ -212,11 +212,20 @@ class ResultContainer(object):
# check for duplicates
duplicated
=
False
result_template
=
result
.
get
(
'template'
)
for
merged_result
in
self
.
_merged_results
:
if
compare_urls
(
result
[
'parsed_url'
],
merged_result
[
'parsed_url'
])
\
and
result
.
get
(
'template'
)
==
merged_result
.
get
(
'template'
):
duplicated
=
merged_result
break
and
result_template
==
merged_result
.
get
(
'template'
):
if
result_template
!=
'images.html'
:
# not an image, same template, same url : it's a duplicate
duplicated
=
merged_result
break
else
:
# it's an image
# it's a duplicate if the parsed_url, template and img_src are differents
if
result
.
get
(
'img_src'
,
''
)
==
merged_result
.
get
(
'img_src'
,
''
):
duplicated
=
merged_result
break
# merge duplicates together
if
duplicated
:
...
...
searx/search.py
View file @
4b56a4bf
...
...
@@ -198,6 +198,13 @@ def default_request_params():
}
# remove duplicate queries.
# FIXME: does not fix "!music !soundcloud", because the categories are 'none' and 'music'
def
deduplicate_query_engines
(
query_engines
):
uniq_query_engines
=
{
q
[
"category"
]
+
'|'
+
q
[
"name"
]:
q
for
q
in
query_engines
}
return
uniq_query_engines
.
values
()
def
get_search_query_from_webapp
(
preferences
,
form
):
# no text for the query ?
if
not
form
.
get
(
'q'
):
...
...
@@ -328,6 +335,8 @@ def get_search_query_from_webapp(preferences, form):
for
engine
in
categories
[
categ
]
if
(
engine
.
name
,
categ
)
not
in
disabled_engines
)
query_engines
=
deduplicate_query_engines
(
query_engines
)
return
(
SearchQuery
(
query
,
query_engines
,
query_categories
,
query_lang
,
query_safesearch
,
query_pageno
,
query_time_range
),
raw_text_query
)
...
...
searx/settings.yml
View file @
4b56a4bf
...
...
@@ -707,7 +707,7 @@ engines:
shortcut
:
1337x
disabled
:
True
-
name
:
D
uden
-
name
:
d
uden
engine
:
duden
shortcut
:
du
disabled
:
True
...
...
searx/webapp.py
View file @
4b56a4bf
...
...
@@ -916,7 +916,7 @@ def page_not_found(e):
def
run
():
logger
.
debug
(
'starting webserver on
%
s:
%
s'
,
settings
[
'server'
][
'
port'
],
settings
[
'server'
][
'bind_address
'
])
logger
.
debug
(
'starting webserver on
%
s:
%
s'
,
settings
[
'server'
][
'
bind_address'
],
settings
[
'server'
][
'port
'
])
app
.
run
(
debug
=
searx_debug
,
use_debugger
=
searx_debug
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment