Browse Source

peertube engine: update _fetch_supported_languages

There is now an API to get the list of supported languages
https://docs.joinpeertube.org/api-rest-reference.html#tag/Video/operation/getLanguages
Alexandre Flament 2 years ago
parent
commit
8256de2fe8
1 changed files with 3 additions and 8 deletions
  1. 3 8
      searx/engines/peertube.py

+ 3 - 8
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