Skip to content

Conversation

bolshoytoster
Copy link
Contributor

Title

See #2432.

Description

A commit (ad48f5c) 7 months ago set extractor_args (yt-dlp parameter) to [], when it should be a dictionary. I assume this just recently got into a release, since a few people have been complaining about issues caused by this.

This PR reverts the problematic commit, leaving extractor_args to default to {}.

Related Issue

#2432

Motivation and Context

It allows users to use spotdl with youtube.

How Has This Been Tested?

$ uv sync
...
$ uv run scripts/build.py
...
$ dist/spotdl-4.3.0-linux download 'primus too many puppies'
... (it worked)

Types of Changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project
  • My change requires a change to the documentation
  • I have updated the documentation accordingly
  • I have read the CONTRIBUTING document
  • I have added tests to cover my changes
  • All new and existing tests passed

@Silverarmor
Copy link
Member

Silverarmor commented Aug 11, 2025

See #2285, perhaps we should have it default to {}? Without this in base.py cannot pass PO token

Though this is a bodge anyway, we should add a flag to spotDL for PO token to be passed

@bolshoytoster
Copy link
Contributor Author

Do we need to specify it? yt-dlp already defaults to {}.

@Silverarmor
Copy link
Member

Hmm. That was the only change in #2285. Too busy atm to test. Will keep this open for now

@Silverarmor
Copy link
Member

I wonder what the root cause is. Since people don't post --log-level DEBUG logs, it's hard to determine what the issues are. I can download songs on v4.3.0 with no issues, and eventually get ratelimited and have to add cookies & POT.

Here's some logs I've seen around the support Discord. I'm struggling to reproduce the issue personally.

image image

@wwwouterrr
Copy link

debug.txt
Here's a log

@Silverarmor
Copy link
Member

Following some very basic troubleshooting, perhaps naïvely, we have tested that passing the following doesnt seem to cause any issues.
image

"extractor_args": {},

Any thoughts @bolshoytoster ?

@bolshoytoster
Copy link
Contributor Author

It doesn't matter whether it's there or not, as long as it's not "extractor_args": []. You could just commit that.

@Silverarmor Silverarmor changed the base branch from master to dev August 11, 2025 10:54
@Silverarmor Silverarmor changed the title Fix extractor_args being the wrong type by removing it Fix extractor_args being list instead of dict Aug 11, 2025
@Silverarmor Silverarmor merged commit 97fa4df into spotDL:dev Aug 11, 2025
@Silverarmor Silverarmor mentioned this pull request Aug 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants