Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preserve original list-position, when local/unavailable songs are skipped #2104

Open
dxrcy opened this issue May 24, 2024 · 0 comments · May be fixed by #2105
Open

Preserve original list-position, when local/unavailable songs are skipped #2104

dxrcy opened this issue May 24, 2024 · 0 comments · May be fixed by #2105
Labels
Feature Request Feature Request

Comments

@dxrcy
Copy link

dxrcy commented May 24, 2024

Requested Feature

When downloading with {list-position} included in the --output option.

When a local song is ignored, the following songs in the playlist will be saved under a different track number than that of the original playlist (shifted down to fill gaps). I think that an option to preserve the original number would be beneficial, especially if a user wants to manually include the local tracks, so they won't have to rename the files to fix the numbers.

Playlist order as shown on Spotify:

  1. foo
  2. bar (local/unavailable)
  3. baz

Tracks downloaded:

  1. foo
  2. baz (should be 3)

This is a very minor issue, so I do not mind if this is considered out of scope or not worthwhile :-)

See #2105

Possible implementation

  • Set the list_position field in song in types/playlist.py:111
  • Don't override it in utils/spotify.py:303

-- or --

  • Append None (or some sentinal value) to songs after showing the local song warning, in types/playlist.py:101.
  • Check for None whenever the songs list is looped over, such as utils/search.py:300
@dxrcy dxrcy added the Feature Request Feature Request label May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request Feature Request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant