diff options
| author | Alexandre Flament <alex@al-f.net> | 2020-10-07 10:38:13 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-07 10:38:13 +0200 |
| commit | 8b278cbfad3f39cc71cb41954d37b30c7d16d947 (patch) | |
| tree | 1cf83faca105df629ea06a3492884001d6b4d84c /searx/engines | |
| parent | e30dc2f0ba481e033f127e5619d90cdc05d6db25 (diff) | |
| parent | a9dc54bebc943000252975ef25ddcb51681fc284 (diff) | |
Merge pull request #2246 from dalf/mod-searx-data
[mod] Add searx.data module
Diffstat (limited to 'searx/engines')
| -rw-r--r-- | searx/engines/__init__.py | 8 | ||||
| -rw-r--r-- | searx/engines/currency_convert.py | 28 |
2 files changed, 10 insertions, 26 deletions
diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py index 5b91c08ce..9cdca47b7 100644 --- a/searx/engines/__init__.py +++ b/searx/engines/__init__.py @@ -19,13 +19,12 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >. import sys import threading from os.path import realpath, dirname -from io import open from babel.localedata import locale_identifiers from flask_babel import gettext from operator import itemgetter -from json import loads from searx import settings from searx import logger +from searx.data import ENGINES_LANGUAGES from searx.poolrequests import get from searx.utils import load_module, match_language, get_engine_from_settings @@ -38,7 +37,6 @@ engines = {} categories = {'general': []} -languages = loads(open(engine_dir + '/../data/engines_languages.json', 'r', encoding='utf-8').read()) babel_langs = [lang_parts[0] + '-' + lang_parts[-1] if len(lang_parts) > 1 else lang_parts[0] for lang_parts in (lang_code.split('_') for lang_code in locale_identifiers())] @@ -108,8 +106,8 @@ def load_engine(engine_data): sys.exit(1) # assign supported languages from json file - if engine_data['name'] in languages: - setattr(engine, 'supported_languages', languages[engine_data['name']]) + if engine_data['name'] in ENGINES_LANGUAGES: + setattr(engine, 'supported_languages', ENGINES_LANGUAGES[engine_data['name']]) # find custom aliases for non standard language codes if hasattr(engine, 'supported_languages'): diff --git a/searx/engines/currency_convert.py b/searx/engines/currency_convert.py index c6067c4a8..4a82cfdca 100644 --- a/searx/engines/currency_convert.py +++ b/searx/engines/currency_convert.py @@ -1,11 +1,11 @@ import json import re -import os import unicodedata -from io import open from datetime import datetime +from searx.data import CURRENCIES + categories = [] url = 'https://duckduckgo.com/js/spice/currency/1/{0}/{1}' @@ -13,8 +13,6 @@ weight = 100 parser_re = re.compile('.*?(\\d+(?:\\.\\d+)?) ([^.0-9]+) (?:in|to) ([^.0-9]+)', re.I) -db = 1 - def normalize_name(name): name = name.lower().replace('-', ' ').rstrip('s') @@ -23,17 +21,17 @@ def normalize_name(name): def name_to_iso4217(name): - global db + global CURRENCIES name = normalize_name(name) - currencies = db['names'].get(name, [name]) - return currencies[0] + currency = CURRENCIES['names'].get(name, [name]) + return currency[0] def iso4217_to_name(iso4217, language): - global db + global CURRENCIES - return db['iso4217'].get(iso4217, {}).get(language, iso4217) + return CURRENCIES['iso4217'].get(iso4217, {}).get(language, iso4217) def request(query, params): @@ -82,15 +80,3 @@ def response(resp): results.append({'answer': answer, 'url': url}) return results - - -def load(): - global db - - current_dir = os.path.dirname(os.path.realpath(__file__)) - json_data = open(current_dir + "/../data/currencies.json", 'r', encoding='utf-8').read() - - db = json.loads(json_data) - - -load() |