Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 491792c1 authored by Noémi Ványi's avatar Noémi Ványi Committed by GitHub
Browse files

Merge pull request #1446 from MarcAbonce/language_aliases_fix

[fix] Fix queries in Hebrew and Norwegian so they give results in the right language
parents 35d82ed6 1a850cf1
Loading
Loading
Loading
Loading
+18935 −18671

File changed.

Preview size limit exceeded, changes collapsed.

+1 −2
Original line number Diff line number Diff line
@@ -113,7 +113,6 @@ def load_engine(engine_data):
               iso_lang not in getattr(engine, 'supported_languages'):
                language_aliases[iso_lang] = engine_lang

        if language_aliases:
        setattr(engine, 'language_aliases', language_aliases)

    # assign language fetching method if auxiliary method exists
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ def request(query, params):
        query=urlencode({'q': query}),
        offset=offset)

    language = match_language(params['language'], supported_languages).lower()
    language = match_language(params['language'], supported_languages, language_aliases).lower()

    params['cookies']['SRCHHPGUSR'] = \
        'ADLT=' + safesearch_types.get(params['safesearch'], 'DEMOTE')
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ def request(query, params):
        'ADLT=' + safesearch_types.get(params['safesearch'], 'DEMOTE')

    # language cookie
    language = match_language(params['language'], supported_languages).lower()
    language = match_language(params['language'], supported_languages, language_aliases).lower()
    params['cookies']['_EDGE_S'] = 'mkt=' + language + '&F=1'

    # query and paging
+4 −4
Original line number Diff line number Diff line
@@ -166,7 +166,7 @@ def extract_text_from_dom(result, xpath):
def request(query, params):
    offset = (params['pageno'] - 1) * 10

    language = match_language(params['language'], supported_languages)
    language = match_language(params['language'], supported_languages, language_aliases)
    language_array = language.split('-')
    if params['language'].find('-') > 0:
        country = params['language'].split('-')[1]
@@ -381,10 +381,10 @@ def attributes_to_html(attributes):
def _fetch_supported_languages(resp):
    supported_languages = {}
    dom = html.fromstring(resp.text)
    options = dom.xpath('//table//td/font/label/span')
    options = dom.xpath('//*[@id="langSec"]//input[@name="lr"]')
    for option in options:
        code = option.xpath('./@id')[0][1:]
        name = option.text.title()
        code = option.xpath('./@value')[0].split('_')[-1]
        name = option.xpath('./@data-name')[0].title()
        supported_languages[code] = {"name": name}

    return supported_languages
Loading