mirror of
https://github.com/searxng/searxng
synced 2024-01-01 19:24:07 +01:00
[mod] Add searx.data module
Instead of loading the data/*.json in different location, load these files in the new searx.data module.
This commit is contained in:
parent
e30dc2f0ba
commit
a9dc54bebc
5 changed files with 37 additions and 41 deletions
|
|
@ -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'):
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue