8000
Skip to content

feature: Add support for Exportify csv format & make operation option mandatory#2594

Open
Drumba08 wants to merge 3 commits intospotDL:devfrom
Drumba08:dev
Open

feature: Add support for Exportify csv format & make operation option mandatory#2594
Drumba08 wants to merge 3 commits intospotDL:devfrom
Drumba08:dev

Conversation

@Drumba08
Copy link
Copy Markdown
@Drumba08 Drumba08 commented Jan 17, 2026

feature: Add support for Exportify csv format & make operation option mandatory

Implements the flag --load-exportify. It can now be used to load songs directly from the Exportify generated csv.
The format of it can be found here.

Also when I started using spotdl, I found it really confusing that the operation option isn't actually required, but when adding multiple songs to the query it tries to take the first one as operation, so you have to use it again. Also, I needed to allow zero arguments as query, in case of --load-exportify being used, and handle exceptions manually, which makes this behavior even worse, so I thought it would be better to just make setting the operation mandatory.

With this being a pretty intrusive change please let me know how you feel about it, or if there is a better way of doing this.

I think it's very useful for people who don't know how to convert their playlists themself.

Related Issue

#2586

How Has This Been Tested?

works fine on:
Python 3.13.11
6.18.5-arch1-1

pylint score 10.0

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

spotdl/utils/arguments.py: Add --load-exportify flag. Allow query to be empty if --load-exportify is set.

spotdl/console/entry_point.py: Read the csv and append its contents to the query.
spotdl/utils/arguments.py: "operation" doesn't default to "download" anymore,
it now has to be manually set.
@Ahrimdon
Copy link
Copy Markdown

I love you. This worked like a charm, thank you!

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.

2 participants

0