mirror of
https://git.vectorsigma.ru/public/tubearchivist.git
synced 2026-08-05 00:09:18 +00:00
immediate cookie write back
This commit is contained in:
@@ -36,19 +36,19 @@ class YtWrap:
|
|||||||
self.obs = self.OBS_BASE.copy()
|
self.obs = self.OBS_BASE.copy()
|
||||||
self.obs.update(self.obs_request)
|
self.obs.update(self.obs_request)
|
||||||
if self.config:
|
if self.config:
|
||||||
self.add_cookie()
|
self._add_cookie()
|
||||||
self.add_potoken()
|
self._add_potoken()
|
||||||
|
|
||||||
if getattr(settings, "DEBUG", False):
|
if getattr(settings, "DEBUG", False):
|
||||||
print(self.obs)
|
print(self.obs)
|
||||||
|
|
||||||
def add_cookie(self):
|
def _add_cookie(self):
|
||||||
"""add cookie if enabled"""
|
"""add cookie if enabled"""
|
||||||
if self.config["downloads"]["cookie_import"]:
|
if self.config["downloads"]["cookie_import"]:
|
||||||
cookie_io = CookieHandler(self.config).get()
|
cookie_io = CookieHandler(self.config).get()
|
||||||
self.obs["cookiefile"] = cookie_io
|
self.obs["cookiefile"] = cookie_io
|
||||||
|
|
||||||
def add_potoken(self):
|
def _add_potoken(self):
|
||||||
"""add potoken if enabled"""
|
"""add potoken if enabled"""
|
||||||
if self.config["downloads"].get("potoken"):
|
if self.config["downloads"].get("potoken"):
|
||||||
potoken = POTokenHandler(self.config).get()
|
potoken = POTokenHandler(self.config).get()
|
||||||
@@ -75,6 +75,8 @@ class YtWrap:
|
|||||||
|
|
||||||
return False, str(err)
|
return False, str(err)
|
||||||
|
|
||||||
|
self._validate_cookie()
|
||||||
|
|
||||||
return True, True
|
return True, True
|
||||||
|
|
||||||
def extract(self, url):
|
def extract(self, url):
|
||||||
@@ -97,8 +99,21 @@ class YtWrap:
|
|||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
self._validate_cookie()
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
def _validate_cookie(self):
|
||||||
|
"""check cookie and write it back for next use"""
|
||||||
|
if not self.obs.get("cookiefile"):
|
||||||
|
return
|
||||||
|
|
||||||
|
new_cookie = self.obs["cookiefile"].read()
|
||||||
|
old_cookie = RedisArchivist().get_message_str("cookie")
|
||||||
|
if new_cookie and old_cookie != new_cookie:
|
||||||
|
print("refreshed stored cookie")
|
||||||
|
RedisArchivist().set_message("cookie", new_cookie, save=True)
|
||||||
|
|
||||||
|
|
||||||
class CookieHandler:
|
class CookieHandler:
|
||||||
"""handle youtube cookie for yt-dlp"""
|
"""handle youtube cookie for yt-dlp"""
|
||||||
|
|||||||
Reference in New Issue
Block a user