mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-03 19:17:07 -05:00 
			
		
		
		
	[fix] wikidata: increase wikidata queries timeout
The big queries for initializing and updating the currencies take longer than the default of the wikidata engine, which is only 3sec. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
		
							parent
							
								
									30a820437d
								
							
						
					
					
						commit
						1d16b94279
					
				
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							@ -75,7 +75,7 @@ test.shell:
 | 
			
		||||
# wrap ./manage script
 | 
			
		||||
 | 
			
		||||
MANAGE += weblate.translations.commit weblate.push.translations
 | 
			
		||||
MANAGE += data.all data.traits data.useragents data.locales
 | 
			
		||||
MANAGE += data.all data.traits data.useragents data.locales data.currencies
 | 
			
		||||
MANAGE += docs.html docs.live docs.gh-pages docs.prebuild docs.clean
 | 
			
		||||
MANAGE += docker.build docker.push docker.buildx
 | 
			
		||||
MANAGE += gecko.driver
 | 
			
		||||
 | 
			
		||||
@ -1557,7 +1557,7 @@
 | 
			
		||||
            "ar": "بيزو دومنيكاني",
 | 
			
		||||
            "bg": "Доминиканско песо",
 | 
			
		||||
            "ca": "peso dominicà",
 | 
			
		||||
            "cs": "Dominikánské peso",
 | 
			
		||||
            "cs": "dominikánské peso",
 | 
			
		||||
            "cy": "Peso Dominica",
 | 
			
		||||
            "de": "dominikanischer Peso",
 | 
			
		||||
            "en": "Dominican peso",
 | 
			
		||||
@ -1582,7 +1582,7 @@
 | 
			
		||||
            "pt": "peso dominicano",
 | 
			
		||||
            "ro": "peso dominican",
 | 
			
		||||
            "ru": "доминиканское песо",
 | 
			
		||||
            "sk": "Dominikánske peso",
 | 
			
		||||
            "sk": "dominikánske peso",
 | 
			
		||||
            "sl": "dominikanski peso",
 | 
			
		||||
            "sr": "доминикански пезос",
 | 
			
		||||
            "sv": "Dominikansk peso",
 | 
			
		||||
@ -1809,7 +1809,7 @@
 | 
			
		||||
            "fi": "Fidžin dollari",
 | 
			
		||||
            "fr": "dollar des Fidji",
 | 
			
		||||
            "ga": "dollar Fhidsí",
 | 
			
		||||
            "gl": "Dólar fidxiano",
 | 
			
		||||
            "gl": "Dólar fijiano",
 | 
			
		||||
            "he": "דולר פיג'י",
 | 
			
		||||
            "hr": "Fidžijski dolar",
 | 
			
		||||
            "hu": "fidzsi dollár",
 | 
			
		||||
@ -1921,7 +1921,7 @@
 | 
			
		||||
            "ar": "لاري جورجي",
 | 
			
		||||
            "bg": "Грузинско лари",
 | 
			
		||||
            "ca": "lari",
 | 
			
		||||
            "cs": "gruzínské lari",
 | 
			
		||||
            "cs": "gruzínský lari",
 | 
			
		||||
            "da": "Lari",
 | 
			
		||||
            "de": "georgischer Lari",
 | 
			
		||||
            "en": "Georgian lari",
 | 
			
		||||
@ -3308,7 +3308,7 @@
 | 
			
		||||
            "ar": "درهم مغربي",
 | 
			
		||||
            "bg": "Марокански дирхам",
 | 
			
		||||
            "ca": "dírham marroquí",
 | 
			
		||||
            "cs": "Marocký dirham",
 | 
			
		||||
            "cs": "marocký dirham",
 | 
			
		||||
            "cy": "Dirham Moroco",
 | 
			
		||||
            "de": "Marokkanischer Dirham",
 | 
			
		||||
            "en": "Moroccan dirham",
 | 
			
		||||
@ -3776,6 +3776,7 @@
 | 
			
		||||
            "en": "Malaysian ringgit",
 | 
			
		||||
            "eo": "malajzia ringito",
 | 
			
		||||
            "es": "ringgit",
 | 
			
		||||
            "et": "Ringgit",
 | 
			
		||||
            "eu": "Ringgit",
 | 
			
		||||
            "fi": "Malesian ringgit",
 | 
			
		||||
            "fr": "ringgit",
 | 
			
		||||
@ -3885,12 +3886,13 @@
 | 
			
		||||
            "bg": "Нигерийска найра",
 | 
			
		||||
            "ca": "naira",
 | 
			
		||||
            "cs": "nigerijská naira",
 | 
			
		||||
            "cy": "naira",
 | 
			
		||||
            "de": "Naira",
 | 
			
		||||
            "en": "naira",
 | 
			
		||||
            "eo": "niĝeria najro",
 | 
			
		||||
            "es": "naira",
 | 
			
		||||
            "fi": "Nigerian naira",
 | 
			
		||||
            "fr": "Naira",
 | 
			
		||||
            "fr": "naira",
 | 
			
		||||
            "ga": "naira",
 | 
			
		||||
            "gl": "Naira",
 | 
			
		||||
            "he": "נאירה",
 | 
			
		||||
@ -4412,7 +4414,7 @@
 | 
			
		||||
            "ar": "غواراني باراغواي",
 | 
			
		||||
            "ca": "guaraní",
 | 
			
		||||
            "cs": "paraguayský guaraní",
 | 
			
		||||
            "cy": "Gwarani Paragwâi",
 | 
			
		||||
            "cy": "Gwarani Paragwái",
 | 
			
		||||
            "de": "Paraguayischer Guaraní",
 | 
			
		||||
            "en": "Paraguayan guaraní",
 | 
			
		||||
            "eo": "paragvaja gvaranio",
 | 
			
		||||
@ -6284,6 +6286,7 @@
 | 
			
		||||
            "es": "Oro de Zimbabue",
 | 
			
		||||
            "fi": "Zimbabwen kulta",
 | 
			
		||||
            "fr": "or du Zimbabwe",
 | 
			
		||||
            "hr": "zimbabveanski gold",
 | 
			
		||||
            "id": "Zimbabwe Gold",
 | 
			
		||||
            "it": "Zimbabwe Gold",
 | 
			
		||||
            "ja": "ジンバブエ・ゴールド",
 | 
			
		||||
@ -6459,7 +6462,6 @@
 | 
			
		||||
        "NT$": "TWD",
 | 
			
		||||
        "NZ$": "NZD",
 | 
			
		||||
        "Nfk": "ERN",
 | 
			
		||||
        "Noha heinen krasss": "EUR",
 | 
			
		||||
        "Nu": "BTN",
 | 
			
		||||
        "N₨": "NPR",
 | 
			
		||||
        "P": "BWP",
 | 
			
		||||
@ -8146,7 +8148,6 @@
 | 
			
		||||
        "dólar dos barbados": "BBD",
 | 
			
		||||
        "dólar dos estados unidos": "USD",
 | 
			
		||||
        "dólar estadounidense": "USD",
 | 
			
		||||
        "dólar fidxiano": "FJD",
 | 
			
		||||
        "dólar fijiano": "FJD",
 | 
			
		||||
        "dólar fixiano": "FJD",
 | 
			
		||||
        "dólar fiyiano": "FJD",
 | 
			
		||||
@ -8832,7 +8833,7 @@
 | 
			
		||||
        "gvinejski franak": "GNF",
 | 
			
		||||
        "gvinejski frank": "GNF",
 | 
			
		||||
        "gvinėjos frankas": "GNF",
 | 
			
		||||
        "gwarani paragwâi": "PYG",
 | 
			
		||||
        "gwarani paragwái": "PYG",
 | 
			
		||||
        "gy$": "GYD",
 | 
			
		||||
        "gyd": "GYD",
 | 
			
		||||
        "ĝibraltara pundo": "GIP",
 | 
			
		||||
@ -10186,6 +10187,8 @@
 | 
			
		||||
        "naira nigeriana": "NGN",
 | 
			
		||||
        "naira nigeriano": "NGN",
 | 
			
		||||
        "naira nigérian": "NGN",
 | 
			
		||||
        "naïra": "NGN",
 | 
			
		||||
        "naïra nigérian": "NGN",
 | 
			
		||||
        "najro": "NGN",
 | 
			
		||||
        "nakfa": "ERN",
 | 
			
		||||
        "nakfa eritrea": "ERN",
 | 
			
		||||
@ -12442,6 +12445,7 @@
 | 
			
		||||
        "zimbabva dolaro": "ZWL",
 | 
			
		||||
        "zimbabva oro": "ZWG",
 | 
			
		||||
        "zimbabve altını": "ZWG",
 | 
			
		||||
        "zimbabveanski gold": "ZWG",
 | 
			
		||||
        "zimbabvejski dolar": "ZWL",
 | 
			
		||||
        "zimbabvejski gold": "ZWG",
 | 
			
		||||
        "zimbabwaanse dollar": "ZWL",
 | 
			
		||||
@ -13060,6 +13064,7 @@
 | 
			
		||||
        "джибутийский франк": "DJF",
 | 
			
		||||
        "джибутски франк": "DJF",
 | 
			
		||||
        "дин": "RSD",
 | 
			
		||||
        "дин.": "RSD",
 | 
			
		||||
        "динар": [
 | 
			
		||||
            "TND",
 | 
			
		||||
            "RSD",
 | 
			
		||||
@ -14304,7 +14309,9 @@
 | 
			
		||||
        "الروبل": "RUB",
 | 
			
		||||
        "الروبل الروسي": "RUB",
 | 
			
		||||
        "الروبية الهندية": "INR",
 | 
			
		||||
        "الريال السعودي": "SAR",
 | 
			
		||||
        "الشيكل الإسرائيلي الجديد": "ILS",
 | 
			
		||||
        "العملة السعودية": "SAR",
 | 
			
		||||
        "العملة الموريتانية": "MRU",
 | 
			
		||||
        "الفرنك الجيبوتي": "DJF",
 | 
			
		||||
        "الفرنك السويسري": "CHF",
 | 
			
		||||
@ -14465,6 +14472,8 @@
 | 
			
		||||
        "روفيه": "MVR",
 | 
			
		||||
        "روفيه مالديفية": "MVR",
 | 
			
		||||
        "ريال": "YER",
 | 
			
		||||
        "ريال السعودية": "SAR",
 | 
			
		||||
        "ريال المملكة العربية السعودية": "SAR",
 | 
			
		||||
        "ريال إيراني": "IRR",
 | 
			
		||||
        "ريال برازيلي": "BRL",
 | 
			
		||||
        "ريال سعودي": "SAR",
 | 
			
		||||
@ -14473,6 +14482,7 @@
 | 
			
		||||
        "ريال قطري": "QAR",
 | 
			
		||||
        "ريال كمبودي": "KHR",
 | 
			
		||||
        "ريال يمني": "YER",
 | 
			
		||||
        "ريالات": "SAR",
 | 
			
		||||
        "رينغيت": "MYR",
 | 
			
		||||
        "رينغيت ماليزي": "MYR",
 | 
			
		||||
        "ریال": [
 | 
			
		||||
@ -14525,6 +14535,8 @@
 | 
			
		||||
        "شيلينغ تنزاني": "TZS",
 | 
			
		||||
        "شيلينغ كيني": "KES",
 | 
			
		||||
        "شيلينغ كينيي": "KES",
 | 
			
		||||
        "عملة السعودية": "SAR",
 | 
			
		||||
        "عملة المملكة العربية السعودية": "SAR",
 | 
			
		||||
        "غواراني": "PYG",
 | 
			
		||||
        "غواراني باراغواي": "PYG",
 | 
			
		||||
        "غيلدر الأنتيل الهولندية": "ANG",
 | 
			
		||||
@ -15778,7 +15790,6 @@
 | 
			
		||||
        "香港元": "HKD",
 | 
			
		||||
        "﷼": [
 | 
			
		||||
            "YER",
 | 
			
		||||
            "SAR",
 | 
			
		||||
            "IRR"
 | 
			
		||||
        ],
 | 
			
		||||
        "﷼'": "YER"
 | 
			
		||||
 | 
			
		||||
@ -158,13 +158,13 @@ def get_label_for_entity(entity_id, language):
 | 
			
		||||
    return name
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def send_wikidata_query(query, method='GET'):
 | 
			
		||||
def send_wikidata_query(query, method='GET', **kwargs):
 | 
			
		||||
    if method == 'GET':
 | 
			
		||||
        # query will be cached by wikidata
 | 
			
		||||
        http_response = get(SPARQL_ENDPOINT_URL + '?' + urlencode({'query': query}), headers=get_headers())
 | 
			
		||||
        http_response = get(SPARQL_ENDPOINT_URL + '?' + urlencode({'query': query}), headers=get_headers(), **kwargs)
 | 
			
		||||
    else:
 | 
			
		||||
        # query won't be cached by wikidata
 | 
			
		||||
        http_response = post(SPARQL_ENDPOINT_URL, data={'query': query}, headers=get_headers())
 | 
			
		||||
        http_response = post(SPARQL_ENDPOINT_URL, data={'query': query}, headers=get_headers(), **kwargs)
 | 
			
		||||
    if http_response.status_code != 200:
 | 
			
		||||
        logger.debug('SPARQL endpoint error %s', http_response.content.decode())
 | 
			
		||||
    logger.debug('request time %s', str(http_response.elapsed))
 | 
			
		||||
@ -808,7 +808,7 @@ def init(engine_settings=None):  # pylint: disable=unused-argument
 | 
			
		||||
            if attribute.name not in WIKIDATA_PROPERTIES:
 | 
			
		||||
                wikidata_property_names.append("wd:" + attribute.name)
 | 
			
		||||
    query = QUERY_PROPERTY_NAMES.replace('%ATTRIBUTES%', " ".join(wikidata_property_names))
 | 
			
		||||
    jsonresponse = send_wikidata_query(query)
 | 
			
		||||
    jsonresponse = send_wikidata_query(query, timeout=20)
 | 
			
		||||
    for result in jsonresponse.get('results', {}).get('bindings', {}):
 | 
			
		||||
        name = result['name']['value']
 | 
			
		||||
        lang = result['name']['xml:lang']
 | 
			
		||||
 | 
			
		||||
@ -92,8 +92,7 @@ def add_currency_label(db, label, iso4217, language):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def wikidata_request_result_iterator(request):
 | 
			
		||||
    wikidata.timeout = 30  # github CI has longer timeouts
 | 
			
		||||
    result = wikidata.send_wikidata_query(request.replace('%LANGUAGES_SPARQL%', LANGUAGES_SPARQL))
 | 
			
		||||
    result = wikidata.send_wikidata_query(request.replace('%LANGUAGES_SPARQL%', LANGUAGES_SPARQL), timeout=20)
 | 
			
		||||
    if result is not None:
 | 
			
		||||
        yield from result['results']['bindings']
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,7 @@ data.:
 | 
			
		||||
  traits    : update searx/data/engine_traits.json & searx/sxng_locales.py
 | 
			
		||||
  useragents: update searx/data/useragents.json with the most recent versions of Firefox
 | 
			
		||||
  locales   : update searx/data/locales.json from babel
 | 
			
		||||
  currencies: update searx/data/currencies.json from wikidata
 | 
			
		||||
EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -59,3 +60,12 @@ data.locales() {
 | 
			
		||||
    )
 | 
			
		||||
    dump_return $?
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
data.currencies(){
 | 
			
		||||
    (   set -e
 | 
			
		||||
        pyenv.activate
 | 
			
		||||
        build_msg DATA "update searx/data/currencies.json"
 | 
			
		||||
        python searxng_extra/update/update_currencies.py
 | 
			
		||||
    )
 | 
			
		||||
    dump_return $?
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user