diff --git a/searx/engines/peertube.py b/searx/engines/peertube.py index 089775694..345c2f991 100644 --- a/searx/engines/peertube.py +++ b/searx/engines/peertube.py @@ -22,9 +22,7 @@ about = { categories = ["videos"] paging = True base_url = "https://peer.tube" -supported_languages_url = ( - 'https://framagit.org/framasoft/peertube/search-index/-/raw/master/client/src/views/Search.vue' -) +supported_languages_url = 'https://peer.tube/api/v1/videos/languages' # do search-request @@ -84,9 +82,6 @@ def response(resp): def _fetch_supported_languages(resp): - import re - - # https://docs.python.org/3/howto/regex.html#greedy-versus-non-greedy - videolanguages = re.search(r"videoLanguages \(\)[^\n]+(.*?)\]", resp.text, re.DOTALL) - peertube_languages = [m.group(1) for m in re.finditer(r"\{ id: '([a-z]+)', label:", videolanguages.group(1))] + videolanguages = resp.json() + peertube_languages = list(videolanguages.keys()) return peertube_languages diff --git a/searx/engines/wikipedia.py b/searx/engines/wikipedia.py index 52b1053ed..ca841e8b3 100644 --- a/searx/engines/wikipedia.py +++ b/searx/engines/wikipedia.py @@ -106,9 +106,9 @@ def _fetch_supported_languages(resp): for tr in trs: td = tr.xpath('./td') code = td[3].xpath('./a')[0].text - name = td[2].xpath('./a')[0].text + name = td[1].xpath('./a')[0].text english_name = td[1].xpath('./a')[0].text - articles = int(td[4].xpath('./a/b')[0].text.replace(',', '')) + articles = int(td[4].xpath('./a')[0].text.replace(',', '')) # exclude languages with too few articles if articles >= 100: supported_languages[code] = {"name": name, "english_name": english_name}