diff --git a/Makefile b/Makefile index 0b467aa37..c1c067149 100644 --- a/Makefile +++ b/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 diff --git a/searx/data/currencies.json b/searx/data/currencies.json index d1a414679..7156c4213 100644 --- a/searx/data/currencies.json +++ b/searx/data/currencies.json @@ -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" diff --git a/searx/engines/wikidata.py b/searx/engines/wikidata.py index e411ecf54..5b5764d20 100644 --- a/searx/engines/wikidata.py +++ b/searx/engines/wikidata.py @@ -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'] diff --git a/searxng_extra/update/update_currencies.py b/searxng_extra/update/update_currencies.py index 3cadcfe86..903bdcb44 100755 --- a/searxng_extra/update/update_currencies.py +++ b/searxng_extra/update/update_currencies.py @@ -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'] diff --git a/utils/lib_sxng_data.sh b/utils/lib_sxng_data.sh index ab1204de6..d24668146 100755 --- a/utils/lib_sxng_data.sh +++ b/utils/lib_sxng_data.sh @@ -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 $? +}