diff --git a/searx/engines/duckduckgo_definitions.py b/searx/engines/duckduckgo_definitions.py
index 793e97d22..dc25d416f 100644
--- a/searx/engines/duckduckgo_definitions.py
+++ b/searx/engines/duckduckgo_definitions.py
@@ -1,5 +1,6 @@
import json
from urllib import urlencode
+from re import sub
from lxml import html
from searx.utils import html_to_text
from searx.engines.xpath import extract_text
@@ -19,8 +20,8 @@ def result_to_text(url, text, htmlResult):
def request(query, params):
- # TODO add kl={locale}
params['url'] = url.format(query=urlencode({'q': query}))
+ params['headers']['Accept-Language'] = params['language']
return params
@@ -103,6 +104,10 @@ def response(resp):
urls.append({'title': search_res.get('DefinitionSource'),
'url': definitionURL})
+ # to merge with wikidata's infobox
+ if infobox_id:
+ infobox_id = sub(r'^http:', r'https:', infobox_id)
+
# entity
entity = search_res.get('Entity', None)
# TODO continent / country / department / location / waterfall /
diff --git a/searx/templates/oscar/infobox.html b/searx/templates/oscar/infobox.html
index 606a5d22c..c72cfb638 100644
--- a/searx/templates/oscar/infobox.html
+++ b/searx/templates/oscar/infobox.html
@@ -1,9 +1,9 @@
- {{ infobox.infobox }}
+ {{ infobox.infobox }}
-
+
{% if infobox.img_src %}{% endif %}
{% if infobox.content %}{{ infobox.content }}
{% endif %}
@@ -29,6 +29,6 @@
{% endfor %}
{% endif %}
-
+
diff --git a/tests/unit/engines/test_duckduckgo_definitions.py b/tests/unit/engines/test_duckduckgo_definitions.py
index 71c84235c..39da64175 100644
--- a/tests/unit/engines/test_duckduckgo_definitions.py
+++ b/tests/unit/engines/test_duckduckgo_definitions.py
@@ -123,7 +123,7 @@ class TestDDGDefinitionsEngine(SearxTestCase):
self.assertEqual(results[1]['url'], 'result first url')
self.assertEqual(results[2]['suggestion'], 'text')
self.assertEqual(results[3]['infobox'], 'heading')
- self.assertEqual(results[3]['id'], 'http://definition.url')
+ self.assertEqual(results[3]['id'], 'https://definition.url')
self.assertEqual(results[3]['entity'], 'Entity')
self.assertIn('abstract', results[3]['content'])
self.assertIn('this is the definition', results[3]['content'])
@@ -240,7 +240,7 @@ class TestDDGDefinitionsEngine(SearxTestCase):
self.assertEqual(type(results), list)
self.assertEqual(len(results), 1)
self.assertEqual(results[0]['infobox'], 'heading')
- self.assertEqual(results[0]['id'], 'http://definition.url')
+ self.assertEqual(results[0]['id'], 'https://definition.url')
self.assertEqual(results[0]['entity'], 'Entity')
self.assertIn('abstract', results[0]['content'])
self.assertIn('this is the definition', results[0]['content'])