diff options
author | bashonly <88596187+bashonly@users.noreply.github.com> | 2022-08-30 16:54:46 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-30 22:24:46 +0530 |
commit | 9bd13fe5bbe1df6bb01d4edb68f2c63a4812bf94 (patch) | |
tree | 89c3d7b12a98260c0360f569c86dc9e9b2d23c1d /yt_dlp/__init__.py | |
parent | 459262ac97c039a426f51f3fb3a5d780de5b9dca (diff) |
[cookies] Support firefox container in `--cookies-from-browser` (#4753)
Authored by: bashonly
Diffstat (limited to 'yt_dlp/__init__.py')
-rw-r--r-- | yt_dlp/__init__.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/yt_dlp/__init__.py b/yt_dlp/__init__.py index 3dc9b6e56..f4a2086ce 100644 --- a/yt_dlp/__init__.py +++ b/yt_dlp/__init__.py @@ -346,6 +346,7 @@ def validate_options(opts): # Cookies from browser if opts.cookiesfrombrowser: + container = None mobj = re.match(r'(?P<name>[^+:]+)(\s*\+\s*(?P<keyring>[^:]+))?(\s*:(?P<profile>.+))?', opts.cookiesfrombrowser) if mobj is None: raise ValueError(f'invalid cookies from browser arguments: {opts.cookiesfrombrowser}') @@ -354,12 +355,15 @@ def validate_options(opts): if browser_name not in SUPPORTED_BROWSERS: raise ValueError(f'unsupported browser specified for cookies: "{browser_name}". ' f'Supported browsers are: {", ".join(sorted(SUPPORTED_BROWSERS))}') + elif profile and browser_name == 'firefox': + if ':' in profile and not os.path.exists(profile): + profile, container = profile.split(':', 1) if keyring is not None: keyring = keyring.upper() if keyring not in SUPPORTED_KEYRINGS: raise ValueError(f'unsupported keyring specified for cookies: "{keyring}". ' f'Supported keyrings are: {", ".join(sorted(SUPPORTED_KEYRINGS))}') - opts.cookiesfrombrowser = (browser_name, profile, keyring) + opts.cookiesfrombrowser = (browser_name, profile, keyring, container) # MetadataParser def metadataparser_actions(f): |