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
|
||||
volume = 0.8
|
||||
when_nobody_in_channel = nothing
|
||||
youtube_query_cookie = {}
|
||||
|
||||
[webinterface]
|
||||
access_address = http://127.0.0.1:8181
|
||||
|
16
util.py
16
util.py
@ -323,8 +323,8 @@ def youtube_search(query):
|
||||
import json
|
||||
|
||||
try:
|
||||
cookie_json = var.config.get('bot', 'youtube_query_cookie')
|
||||
cookie = json.loads(cookie_json if cookie_json else '{}')
|
||||
cookie_file = var.config.get('youtube_dl', 'cookie_file')
|
||||
cookie = parse_cookie_file(cookie_file) if cookie_file else {}
|
||||
r = requests.get("https://www.youtube.com/results", cookies=cookie,
|
||||
params={'search_query': query}, timeout=5)
|
||||
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))
|
||||
|
||||
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