Add browser cookies support to DownloadThread
Introduces a browser_cookies parameter to DownloadThread, allowing cookies to be loaded from a browser for downloads. Updates command and options construction to handle both cookie files and browser cookies, improving flexibility for authentication.
This commit is contained in:
@@ -53,6 +53,7 @@ class DownloadThread(QThread):
|
|||||||
save_description=False,
|
save_description=False,
|
||||||
embed_chapters=False,
|
embed_chapters=False,
|
||||||
cookie_file=None,
|
cookie_file=None,
|
||||||
|
browser_cookies=None,
|
||||||
rate_limit=None,
|
rate_limit=None,
|
||||||
download_section=None,
|
download_section=None,
|
||||||
force_keyframes=False,
|
force_keyframes=False,
|
||||||
@@ -71,6 +72,7 @@ class DownloadThread(QThread):
|
|||||||
self.save_description = save_description
|
self.save_description = save_description
|
||||||
self.embed_chapters = embed_chapters
|
self.embed_chapters = embed_chapters
|
||||||
self.cookie_file = cookie_file
|
self.cookie_file = cookie_file
|
||||||
|
self.browser_cookies = browser_cookies
|
||||||
self.rate_limit = rate_limit
|
self.rate_limit = rate_limit
|
||||||
self.download_section = download_section
|
self.download_section = download_section
|
||||||
self.force_keyframes = force_keyframes
|
self.force_keyframes = force_keyframes
|
||||||
@@ -143,7 +145,10 @@ class DownloadThread(QThread):
|
|||||||
"format": (self.format_id if self.format_id else "best"), # Use selected format or best
|
"format": (self.format_id if self.format_id else "best"), # Use selected format or best
|
||||||
}
|
}
|
||||||
if self.cookie_file:
|
if self.cookie_file:
|
||||||
ydl_opts_check["cookiefile"] = self.cookie_file
|
ydl_opts_check["cookiefile"] = str(self.cookie_file)
|
||||||
|
elif self.browser_cookies:
|
||||||
|
ydl_opts_check["cookiesfrombrowser"] = (self.browser_cookies.split(':')[0],
|
||||||
|
self.browser_cookies.split(':')[1] if ':' in self.browser_cookies else None)
|
||||||
|
|
||||||
if YT_DLP_AVAILABLE:
|
if YT_DLP_AVAILABLE:
|
||||||
with yt_dlp.YoutubeDL(ydl_opts_check) as ydl:
|
with yt_dlp.YoutubeDL(ydl_opts_check) as ydl:
|
||||||
@@ -312,7 +317,9 @@ class DownloadThread(QThread):
|
|||||||
|
|
||||||
# Add cookies if specified
|
# Add cookies if specified
|
||||||
if self.cookie_file:
|
if self.cookie_file:
|
||||||
cmd.extend(["--cookies", self.cookie_file])
|
cmd.extend(["--cookies", str(self.cookie_file)])
|
||||||
|
elif self.browser_cookies:
|
||||||
|
cmd.extend(["--cookies-from-browser", self.browser_cookies])
|
||||||
|
|
||||||
# Add rate limit if specified
|
# Add rate limit if specified
|
||||||
if self.rate_limit:
|
if self.rate_limit:
|
||||||
|
|||||||
Reference in New Issue
Block a user