You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To support these, I update the type annotations on the existing browser-specific functions, including adding the key_file argument to those which didn't have it, for consistency. Additionally, both methods use a new SUPPORTED_BROWSERS dictionary, and the load method was updated to use it as well:
ReK42
changed the title
Add BrowserCookieJar and get_browser, update load to use shared dict
Add BrowserCookieJar class and get_browser function
Jul 16, 2023
I added these because I'm currently using the following method to pull cookies from a specific browser in bcamp-dl, where self.browser is a string argument from the user:
This seems a little fragile to me, as I need to validate the string against a list of supported browsers that isn't easily available from upstream, and it can produce some unhelpful exceptions if it goes wrong. Adding a subclass of http.cookiejar.CookieJar which will raise a helpful exception if the browser is not supported makes this a lot cleaner. I can now rely on upstream to validate for me, and it's a lot more clear that the result is a standard CookieJar object.
The load function is useful but doesn't quite do what I want: I want to load a cookie from a specific browser, not from all available browsers. I did add get_browser as an alternative method to get the specific function, as opposed to getattr.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the following methods to get cookies:
BrowserCookieJaris a subclass ofhttp.cookiejar.CookieJarwhich will take the browser name as a string:get_browseris a function which will return the browser-specific function based on the browser name as a string:To support these, I update the type annotations on the existing browser-specific functions, including adding the
key_fileargument to those which didn't have it, for consistency. Additionally, both methods use a newSUPPORTED_BROWSERSdictionary, and theloadmethod was updated to use it as well: