[fix] Invidious engine by enabling requests by randomly picking amongst working instances

This commit is contained in:
mrwormo 2021-01-08 13:27:54 +01:00
parent 484dc99580
commit 2dff3887f0
2 changed files with 18 additions and 5 deletions

View file

@ -11,6 +11,7 @@
from urllib.parse import quote_plus
from dateutil import parser
import time
import random
# engine dependent config
categories = ["videos", "music"]
@ -18,19 +19,29 @@ paging = True
language_support = True
time_range_support = True
# search-url
base_url = "https://invidio.us/"
base_url = ''
base_url_rand = ''
# do search-request
def request(query, params):
global base_url_rand
time_range_dict = {
"day": "today",
"week": "week",
"month": "month",
"year": "year",
}
search_url = base_url + "api/v1/search?q={query}"
if isinstance(base_url, list):
base_url_rand = random.choice(base_url)
else:
base_url_rand = base_url
search_url = base_url_rand + "api/v1/search?q={query}"
params["url"] = search_url.format(
query=quote_plus(query)
) + "&page={pageno}".format(pageno=params["pageno"])
@ -56,12 +67,12 @@ def response(resp):
embedded_url = (
'<iframe width="540" height="304" '
+ 'data-src="'
+ base_url
+ base_url_rand
+ 'embed/{videoid}" '
+ 'frameborder="0" allowfullscreen></iframe>'
)
base_invidious_url = base_url + "watch?v="
base_invidious_url = base_url_rand + "watch?v="
for result in search_results:
rtype = result.get("type", None)

View file

@ -522,7 +522,9 @@ engines:
- name : invidious
engine : invidious
base_url : 'https://invidio.us/'
base_url :
- https://invidious.tube/
- https://invidious.snopyta.org/
shortcut: iv
timeout : 5.0
disabled : True