Browse Source

only return one url per "type" in Wikidata (#2151)

i.e. only one official website, one Twitter, etc.
Marc Abonce Seguin 4 years ago
parent
commit
0d8970c8f2
1 changed files with 3 additions and 1 deletions
  1. 3 1
      searx/engines/wikidata.py

+ 3 - 1
searx/engines/wikidata.py

@@ -382,7 +382,7 @@ def add_attribute(attributes, id_cache, property_id, default_label=None, date=Fa
 
 
 # requires property_id unless it's a wiki link (defined in link_type)
 # requires property_id unless it's a wiki link (defined in link_type)
 def add_url(urls, result, id_cache, property_id=None, default_label=None, url_prefix=None, results=None,
 def add_url(urls, result, id_cache, property_id=None, default_label=None, url_prefix=None, results=None,
-            link_type=None):
+            link_type=None, only_first=True):
     links = []
     links = []
 
 
     # wiki links don't have property in wikidata page
     # wiki links don't have property in wikidata page
@@ -421,6 +421,8 @@ def add_url(urls, result, id_cache, property_id=None, default_label=None, url_pr
             urls.append(u)
             urls.append(u)
             if results is not None:
             if results is not None:
                 results.append(u)
                 results.append(u)
+            if only_first:
+                break
 
 
 
 
 def get_imdblink(result, url_prefix):
 def get_imdblink(result, url_prefix):