aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/cookies.py
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2022-09-26 02:53:08 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2022-09-26 02:55:45 +0530
commit46a5b335e708c81bb6e9eb8cef0c13c72c497f0a (patch)
tree3d08b370877cd205af8556b20a59ff767f62866d /yt_dlp/cookies.py
parent914491b8e087d21b8a1714eb185008c29b6fe1e8 (diff)
downloadhypervideo-pre-46a5b335e708c81bb6e9eb8cef0c13c72c497f0a.tar.lz
hypervideo-pre-46a5b335e708c81bb6e9eb8cef0c13c72c497f0a.tar.xz
hypervideo-pre-46a5b335e708c81bb6e9eb8cef0c13c72c497f0a.zip
[cookies] Let `_get_mac_keyring_password` fail gracefully
Closes #4915
Diffstat (limited to 'yt_dlp/cookies.py')
-rw-r--r--yt_dlp/cookies.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py
index 24a8250da..3032d0712 100644
--- a/yt_dlp/cookies.py
+++ b/yt_dlp/cookies.py
@@ -845,12 +845,15 @@ def _get_linux_keyring_password(browser_keyring_name, keyring, logger):
def _get_mac_keyring_password(browser_keyring_name, logger):
logger.debug('using find-generic-password to obtain password from OSX keychain')
try:
- stdout, _, _ = Popen.run(
+ stdout, _, returncode = Popen.run(
['security', 'find-generic-password',
'-w', # write password to stdout
'-a', browser_keyring_name, # match 'account'
'-s', f'{browser_keyring_name} Safe Storage'], # match 'service'
stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
+ if returncode:
+ logger.warning('find-generic-password failed')
+ return None
return stdout.rstrip(b'\n')
except Exception as e:
logger.warning(f'exception running find-generic-password: {error_to_str(e)}')