Browse Source

Merge pull request #1686 from MarcAbonce/wiki_infobox_fixes

Infobox fixes
Markus Heiser 5 years ago
parent
commit
3e14bf4d27
2 changed files with 9 additions and 7 deletions
  1. 4 2
      searx/engines/wikipedia.py
  2. 5 5
      searx/webapp.py

+ 4 - 2
searx/engines/wikipedia.py

@@ -21,7 +21,8 @@ search_url = base_url + u'w/api.php?'\
     'action=query'\
     'action=query'\
     '&format=json'\
     '&format=json'\
     '&{query}'\
     '&{query}'\
-    '&prop=extracts|pageimages'\
+    '&prop=extracts|pageimages|pageprops'\
+    '&ppprop=disambiguation'\
     '&exintro'\
     '&exintro'\
     '&explaintext'\
     '&explaintext'\
     '&pithumbsize=300'\
     '&pithumbsize=300'\
@@ -87,7 +88,7 @@ def response(resp):
         if int(article_id) > 0:
         if int(article_id) > 0:
             break
             break
 
 
-    if int(article_id) < 0:
+    if int(article_id) < 0 or 'disambiguation' in page.get('pageprops', {}):
         return []
         return []
 
 
     title = page.get('title')
     title = page.get('title')
@@ -99,6 +100,7 @@ def response(resp):
     extract = page.get('extract')
     extract = page.get('extract')
 
 
     summary = extract_first_paragraph(extract, title, image)
     summary = extract_first_paragraph(extract, title, image)
+    summary = summary.replace('() ', '')
 
 
     # link to wikipedia article
     # link to wikipedia article
     wikipedia_link = base_url.format(language=url_lang(resp.search_params['language'])) \
     wikipedia_link = base_url.format(language=url_lang(resp.search_params['language'])) \

+ 5 - 5
searx/webapp.py

@@ -606,11 +606,11 @@ def index():
     # HTML output format
     # HTML output format
 
 
     # suggestions: use RawTextQuery to get the suggestion URLs with the same bang
     # suggestions: use RawTextQuery to get the suggestion URLs with the same bang
-    suggestion_urls = map(lambda suggestion: {
-                          'url': raw_text_query.changeSearchQuery(suggestion).getFullQuery(),
-                          'title': suggestion
-                          },
-                          result_container.suggestions)
+    suggestion_urls = list(map(lambda suggestion: {
+                               'url': raw_text_query.changeSearchQuery(suggestion).getFullQuery(),
+                               'title': suggestion
+                               },
+                               result_container.suggestions))
 
 
     correction_urls = list(map(lambda correction: {
     correction_urls = list(map(lambda correction: {
                                'url': raw_text_query.changeSearchQuery(correction).getFullQuery(),
                                'url': raw_text_query.changeSearchQuery(correction).getFullQuery(),