refactor(ysearch): Use youtube-dl cookie file instead of redundant cookie config item.
This commit is contained in:
parent
a0eb5b39c3
commit
b0ace7b67a
@ -64,7 +64,6 @@ tmp_folder_max_size = 10
|
|||||||
username = botamusique
|
username = botamusique
|
||||||
volume = 0.8
|
volume = 0.8
|
||||||
when_nobody_in_channel = nothing
|
when_nobody_in_channel = nothing
|
||||||
youtube_query_cookie = {}
|
|
||||||
|
|
||||||
[webinterface]
|
[webinterface]
|
||||||
access_address = http://127.0.0.1:8181
|
access_address = http://127.0.0.1:8181
|
||||||
|
16
util.py
16
util.py
@ -323,8 +323,8 @@ def youtube_search(query):
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
try:
|
try:
|
||||||
cookie_json = var.config.get('bot', 'youtube_query_cookie')
|
cookie_file = var.config.get('youtube_dl', 'cookie_file')
|
||||||
cookie = json.loads(cookie_json if cookie_json else '{}')
|
cookie = parse_cookie_file(cookie_file) if cookie_file else {}
|
||||||
r = requests.get("https://www.youtube.com/results", cookies=cookie,
|
r = requests.get("https://www.youtube.com/results", cookies=cookie,
|
||||||
params={'search_query': query}, timeout=5)
|
params={'search_query': query}, timeout=5)
|
||||||
result_json_match = re.findall(r">var ytInitialData = (.*?);</script>", r.text)
|
result_json_match = re.findall(r">var ytInitialData = (.*?);</script>", r.text)
|
||||||
@ -575,3 +575,15 @@ def check_extra_config(config, template):
|
|||||||
extra.append((key, opt))
|
extra.append((key, opt))
|
||||||
|
|
||||||
return extra
|
return extra
|
||||||
|
|
||||||
|
|
||||||
|
def parse_cookie_file(cookiefile):
|
||||||
|
# https://stackoverflow.com/a/54659484/1584825
|
||||||
|
|
||||||
|
cookies = {}
|
||||||
|
with open (cookiefile, 'r') as fp:
|
||||||
|
for line in fp:
|
||||||
|
if not re.match(r'^#', line):
|
||||||
|
lineFields = line.strip().split('\t')
|
||||||
|
cookies[lineFields[5]] = lineFields[6]
|
||||||
|
return cookies
|
||||||
|
Loading…
x
Reference in New Issue
Block a user