From 0b93764ec0974ddee5ba689aa6649ad93abcf502 Mon Sep 17 00:00:00 2001 From: Abhijeet213 Date: Fri, 16 May 2025 09:53:05 +0530 Subject: [PATCH 1/6] Updated Error Message Because Issue is external --- yt_dlp/cookies.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py index fad323c90..52525ad7e 100644 --- a/yt_dlp/cookies.py +++ b/yt_dlp/cookies.py @@ -569,9 +569,16 @@ def _extract_safari_cookies(profile, logger): if not os.path.isfile(cookies_path): raise FileNotFoundError('could not find safari cookies database') - with open(cookies_path, 'rb') as f: - cookies_data = f.read() + try: + with open(cookies_path, 'rb') as f: + cookies_data = f.read() + except PermissionError as e: + raise PermissionError( + f"Permission denied when accessing Safari cookies at: {cookies_path}. " + f"Please ensure the application has the necessary permissions (e.g., Full Disk Access on macOS)." + ) + jar = parse_safari_cookies(cookies_data, logger=logger) logger.info(f'Extracted {len(jar)} cookies from safari') return jar From bd2a1983f8ee25d6959262159776e2e12a6af4a4 Mon Sep 17 00:00:00 2001 From: Abhijeet213 Date: Fri, 16 May 2025 10:40:58 +0530 Subject: [PATCH 2/6] Updated Error Message Of Safari Permission Error Because Issue is external According to Me And @pukkandan --- yt_dlp/cookies.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py index 52525ad7e..fb123b37f 100644 --- a/yt_dlp/cookies.py +++ b/yt_dlp/cookies.py @@ -568,18 +568,11 @@ def _extract_safari_cookies(profile, logger): cookies_path = os.path.expanduser('~/Library/Containers/com.apple.Safari/Data/Library/Cookies/Cookies.binarycookies') if not os.path.isfile(cookies_path): raise FileNotFoundError('could not find safari cookies database') - try: with open(cookies_path, 'rb') as f: cookies_data = f.read() - - except PermissionError as e: - raise PermissionError( - f"Permission denied when accessing Safari cookies at: {cookies_path}. " - f"Please ensure the application has the necessary permissions (e.g., Full Disk Access on macOS)." - ) - - jar = parse_safari_cookies(cookies_data, logger=logger) + except PermissionError: + raise PermissionError(f'Permission denied when accessing Safari cookies at: {cookies_path}') logger.info(f'Extracted {len(jar)} cookies from safari') return jar From cff2dd17f734318b74b1a8c783323b6e6a558616 Mon Sep 17 00:00:00 2001 From: Abhijeet213 Date: Fri, 16 May 2025 10:45:22 +0530 Subject: [PATCH 3/6] Solve Some More Checks --- yt_dlp/cookies.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py index fb123b37f..09dca3c53 100644 --- a/yt_dlp/cookies.py +++ b/yt_dlp/cookies.py @@ -573,6 +573,8 @@ def _extract_safari_cookies(profile, logger): cookies_data = f.read() except PermissionError: raise PermissionError(f'Permission denied when accessing Safari cookies at: {cookies_path}') + + jar = parse_safari_cookies(cookies_data, logger=logger) logger.info(f'Extracted {len(jar)} cookies from safari') return jar @@ -1384,4 +1386,4 @@ def get_cookies_for_url(self, url): def clear(self, *args, **kwargs): with contextlib.suppress(KeyError): - return super().clear(*args, **kwargs) + return super().clear(*args, **kwargs) \ No newline at end of file From d8e9195e9b9d30742161670d58869e3a55a08d45 Mon Sep 17 00:00:00 2001 From: Abhijeet213 Date: Fri, 16 May 2025 10:47:25 +0530 Subject: [PATCH 4/6] More Check SOlved --- yt_dlp/cookies.py | 1 - 1 file changed, 1 deletion(-) diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py index 09dca3c53..561b76990 100644 --- a/yt_dlp/cookies.py +++ b/yt_dlp/cookies.py @@ -1383,7 +1383,6 @@ def get_cookies_for_url(self, url): # Ref: https://github.com/python/cpython/blob/3.7/Lib/http/cookiejar.py#L1360 self._policy._now = self._now = int(time.time()) return self._cookies_for_request(urllib.request.Request(normalize_url(sanitize_url(url)))) - def clear(self, *args, **kwargs): with contextlib.suppress(KeyError): return super().clear(*args, **kwargs) \ No newline at end of file From d16d1e4c7a9e4b4a0252f8762bbc6a45f276a84d Mon Sep 17 00:00:00 2001 From: Abhijeet213 Date: Fri, 16 May 2025 10:51:40 +0530 Subject: [PATCH 5/6] somecheck --- yt_dlp/cookies.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py index 561b76990..0d11c2b8b 100644 --- a/yt_dlp/cookies.py +++ b/yt_dlp/cookies.py @@ -1383,6 +1383,7 @@ def get_cookies_for_url(self, url): # Ref: https://github.com/python/cpython/blob/3.7/Lib/http/cookiejar.py#L1360 self._policy._now = self._now = int(time.time()) return self._cookies_for_request(urllib.request.Request(normalize_url(sanitize_url(url)))) + def clear(self, *args, **kwargs): with contextlib.suppress(KeyError): - return super().clear(*args, **kwargs) \ No newline at end of file + return super().clear(*args, **kwargs) From 1bd84c982cc012a6f1e3dadc0b4c2d95fee0c62e Mon Sep 17 00:00:00 2001 From: Abhijeet213 Date: Fri, 16 May 2025 12:42:22 +0530 Subject: [PATCH 6/6] Added Issue Link --- yt_dlp/cookies.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py index 0d11c2b8b..7eb0f45f7 100644 --- a/yt_dlp/cookies.py +++ b/yt_dlp/cookies.py @@ -572,7 +572,7 @@ def _extract_safari_cookies(profile, logger): with open(cookies_path, 'rb') as f: cookies_data = f.read() except PermissionError: - raise PermissionError(f'Permission denied when accessing Safari cookies at: {cookies_path}') + raise PermissionError(f'Permission denied when accessing Safari cookies at: {cookies_path}\nYou Can Checkout This Issue At https://github.com/yt-dlp/yt-dlp/issues/7392') jar = parse_safari_cookies(cookies_data, logger=logger) logger.info(f'Extracted {len(jar)} cookies from safari')