Add yt-dlp Extractor Argument Support #2285
Open
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.
Add yt-dlp Extractor Argument Support
Adds
yt-dlp
extractor argument supportDescription
Youtube has recently made it impossible to use yt-dlp without accessing via PO Tokens. yt-dlp supports that, but you need to be able to provide the
extractor_args
parameter to the API (or--extractor-args
to the CLI).This PR enables that in the Spotdl API since if you were to supply it currently it would fail.
** Note
This does not add the support to the CLI usage (yet), as that isn't in the scope of what I use this library for. A followup enabling this through the CLI & argument parser would be necessary to enable those. This fix is sufficient for my usage.
Related Issue
Partially fixes #2279, depending on if you're using the CLI or API
Motivation and Context
See description
How Has This Been Tested?
Locally, doing simple tests.
Screenshots (if appropriate)
Before (with cookies only):
![image](https://private-user-images.githubusercontent.com/7606153/406538603-74d6799c-2541-4f59-b357-d7547c9ee119.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNTIwNDAsIm5iZiI6MTczOTA1MTc0MCwicGF0aCI6Ii83NjA2MTUzLzQwNjUzODYwMy03NGQ2Nzk5Yy0yNTQxLTRmNTktYjM1Ny1kNzU0N2M5ZWUxMTkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDhUMjE1NTQwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDg4NWU0ZDkzNDJlMTI2NjlhZWViZDA0OWI0OGRkZjdjODJkMWY1YjNkNDgyODUzYTJhNGExZDhhODczM2UyNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.ACxLLfP8nripmFtsY4SiWqRqZPtr0cT3dWCa8xF2aoI)
After (with cookies & po token):
![image](https://private-user-images.githubusercontent.com/7606153/406538476-b651c5e0-f99d-4e66-9291-12a8a7c2bab9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNTIwNDAsIm5iZiI6MTczOTA1MTc0MCwicGF0aCI6Ii83NjA2MTUzLzQwNjUzODQ3Ni1iNjUxYzVlMC1mOTlkLTRlNjYtOTI5MS0xMmE4YTdjMmJhYjkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDhUMjE1NTQwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NWYxMzVhZTQzMGUwMTY4OGY2YzcxN2I4ZDkwZjg0ZWE5ZDY4NTAxMTdiNjFhNWYwOGYwNzJlOGRmNmFkMWVmZCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.WEfvPdEdzU4RDZpZgNnIk1qawHUcecCbTGeq3sFAnh4)
Types of Changes
Checklist