forked from Ponysearch/Ponysearch
[fix] fetch_traits of google and zlibrary
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
d6ac2b5a55
commit
6df922b9da
2 changed files with 6 additions and 5 deletions
|
@ -430,14 +430,13 @@ def fetch_traits(engine_traits: EngineTraits, add_domains: bool = True):
|
|||
if not resp.ok: # type: ignore
|
||||
raise RuntimeError("Response from Google's preferences is not OK.")
|
||||
|
||||
dom = html.fromstring(resp.text) # type: ignore
|
||||
dom = html.fromstring(resp.text.replace('<?xml version="1.0" encoding="UTF-8"?>', ''))
|
||||
|
||||
# supported language codes
|
||||
|
||||
lang_map = {'no': 'nb'}
|
||||
for x in eval_xpath_list(dom, '//*[@id="langSec"]//input[@name="lr"]'):
|
||||
|
||||
eng_lang = x.get("value").split('_')[-1]
|
||||
for x in eval_xpath_list(dom, "//select[@name='hl']/option"):
|
||||
eng_lang = x.get("value")
|
||||
try:
|
||||
locale = babel.Locale.parse(lang_map.get(eng_lang, eng_lang), sep='-')
|
||||
except babel.UnknownLocaleError:
|
||||
|
@ -457,7 +456,7 @@ def fetch_traits(engine_traits: EngineTraits, add_domains: bool = True):
|
|||
|
||||
# supported region codes
|
||||
|
||||
for x in eval_xpath_list(dom, '//*[@name="region"]/..//input[@name="region"]'):
|
||||
for x in eval_xpath_list(dom, "//select[@name='gl']/option"):
|
||||
eng_country = x.get("value")
|
||||
|
||||
if eng_country in skip_countries:
|
||||
|
|
|
@ -200,6 +200,8 @@ def fetch_traits(engine_traits: EngineTraits) -> None:
|
|||
for locale in babel.core.localedata.locale_identifiers(): # type: ignore
|
||||
# Create a Locale object for the current locale
|
||||
loc = babel.Locale.parse(locale)
|
||||
if loc.english_name is None:
|
||||
continue
|
||||
language_name_locale_map[loc.english_name.lower()] = loc # type: ignore
|
||||
|
||||
for x in eval_xpath_list(dom, "//div[@id='advSearch-noJS']//select[@id='sf_languages']/option"):
|
||||
|
|
Loading…
Reference in a new issue