Skip to content

no M3U file when downloading playlist with --fetch-albums #2556

@bombjulie

Description

@bombjulie

System OS

Linux

Python Version

3.11 (CPython)

Install Source

pip / PyPi

Install version / commit hash

v4.4.3

Expected Behavior vs Actual Behavior

When running spotdl to download a playlist and appending the --fetch-albums I expected a download of all albums with a song in the playlist and an m3u file with just the original playlist songs in it.

What happened was that everything downloaded just fine but no resulting playlist file. Instead got an error message: "WARNING MainThread - M3U file name contains '{list}' but no lists were provided. Specify a filename."

Steps to reproduce - Ensure to include actual links!

Run:
spotdl --fetch-albums --log-level DEBUG https://open.spotify.com/playlist/30hqfboN6s7BUUZZSaSOdp?si=0HNThV6TSwOyxy-NrVHsGg

with the following config file:
config.json

Traceback

❯ spotdl --fetch-albums --log-level DEBUG https://open.spotify.com/playlist/30hqfboN6s7BUUZZSaSOdp?si=0HNThV6TSwOyxy-NrVHsGg
[14:46:11] DEBUG    MainThread - Downloader settings: {'audio_providers': ['youtube-music'], downloader.py:129
                    'lyrics_providers': ['genius', 'azlyrics', 'musixmatch'],
                    'genius_token':
                    'alXXDbPZtK1m2RrZ8I4k2Hn8Ahsd0Gh_o076HYvcdlBvmc0ULL1H8Z8xRlew5qaG',
                    'playlist_numbering': False, 'playlist_retain_track_cover': False,
                    'scan_for_songs': True, 'm3u': '{list}', 'output':
                    './{artist}/{album}/{track-number} - {artists} - {title}.{output-ext}',
                    'overwrite': 'skip', 'search_query': None, 'ffmpeg': 'ffmpeg',
                    'bitrate': '128k', 'ffmpeg_args': None, 'format': 'mp3', 'save_file':
                    None, 'filter_results': True, 'album_type': None, 'threads': 4,
                    'cookie_file': None, 'restrict': None, 'print_errors': False,
                    'sponsor_block': False, 'preload': False, 'archive': None,
                    'load_config': True, 'log_level': 'DEBUG', 'simple_tui': False,
                    'fetch_albums': True, 'id3_separator': '/', 'ytm_data': False,
                    'add_unavailable': False, 'generate_lrc': False,
                    'force_update_metadata': False, 'only_verified_results': False,
                    'sync_without_deleting': False, 'max_filename_length': None,
                    'yt_dlp_args': None, 'detect_formats': None, 'save_errors':
                    '/home/julie/spotdl/1.spotdlerrors.txt', 'ignore_albums': None, 'proxy':
                    None, 'skip_explicit': False, 'log_format': None, 'redownload': False,
                    'skip_album_art': False, 'create_skip_file': False, 'respect_skip_file':
                    False, 'sync_remove_lrc': False}
[14:46:11] DEBUG    MainThread - FFmpeg path: ffmpeg                                         downloader.py:147
[14:46:11] INFO     MainThread - Scanning for known songs, this might take a while...        downloader.py:167
[14:46:11] DEBUG    MainThread - Scanning for mp3 files                                      downloader.py:169
[14:46:12] DEBUG    MainThread - Found 33 mp3 files                                          downloader.py:173
[14:46:12] DEBUG    MainThread - Found 33 known songs                                        downloader.py:182
[14:46:14] DEBUG    MainThread - AZLyrics: Failed to retrieve js_code.                         azlyrics.py:187
[14:46:14] DEBUG    MainThread - Archive: 0 urls                                             downloader.py:237
[14:46:14] DEBUG    MainThread - Downloader initialized                                      downloader.py:239
[14:46:14] INFO     MainThread - Processing query:                                               search.py:140
                    https://open.spotify.com/playlist/30hqfboN6s7BUUZZSaSOdp?si=0HNThV6TSwOyxy-N
                    rVHsGg
[14:46:15] INFO     MainThread - Found 3 songs in Fridans (Playlist)                             search.py:296
[14:46:15] DEBUG    MainThread - Found 3 songs in 1 lists                                        search.py:353
[14:46:15] INFO     MainThread - Fetching 3 albums                                           downloader.py:273
[14:46:16] DEBUG    MainThread - Downloading 33 songs                                        downloader.py:286
[14:46:17] INFO     asyncio_0 - Skipping Margot Reisinger - Meditation On Ganga (file        downloader.py:532
                    already exists)
[14:46:17] INFO     asyncio_2 - Skipping NEIL FRANCES - dancing (file already exists)        downloader.py:532
[14:46:17] INFO     asyncio_1 - Skipping Chet Faker - Gold (file already exists)             downloader.py:532
[14:46:17] INFO     asyncio_0 - Skipping NEIL FRANCES - on a dark night, (file already       downloader.py:532
                    exists)
[14:46:17] INFO     asyncio_3 - Skipping NEIL FRANCES - Little heartbeat, (file already      downloader.py:532
                    exists)
[14:46:17] INFO     asyncio_2 - Skipping NEIL FRANCES - I just want you to (file already     downloader.py:532
                    exists)
[14:46:17] INFO     asyncio_1 - Skipping NEIL FRANCES - be free. (file already exists)       downloader.py:532
[14:46:17] INFO     asyncio_0 - Skipping NEIL FRANCES - I can feel the pressure (file        downloader.py:532
                    already exists)
[14:46:17] INFO     asyncio_4 - Skipping NEIL FRANCES - thump thumping from a distance       downloader.py:532
                    (Karen's Interlude). (file already exists)
[14:46:18] INFO     asyncio_3 - Skipping NEIL FRANCES - It's like a dream (file already      downloader.py:532
                    exists)
[14:46:18] INFO     asyncio_4 - Skipping NEIL FRANCES - finding rhythm (file already exists) downloader.py:532
[14:46:18] INFO     asyncio_1 - Skipping NEIL FRANCES - in the starlight, (file already      downloader.py:532
                    exists)
[14:46:18] INFO     asyncio_2 - Skipping NEIL FRANCES - where I become someone (file already downloader.py:532
                    exists)
[14:46:18] INFO     asyncio_0 - Skipping NEIL FRANCES - every day with you, (file already    downloader.py:532
                    exists)
[14:46:18] INFO     asyncio_3 - Skipping Margot Reisinger - Zenana (file already exists)     downloader.py:532
[14:46:18] INFO     asyncio_2 - Skipping NEIL FRANCES - like electric blue angels. (file     downloader.py:532
                    already exists)
[14:46:18] INFO     asyncio_4 - Skipping NEIL FRANCES - we're falling up (file already       downloader.py:532
                    exists)
[14:46:18] INFO     asyncio_3 - Skipping Margot Reisinger - Yearning For Infinity (file      downloader.py:532
                    already exists)
[14:46:18] INFO     asyncio_0 - Skipping Margot Reisinger - Gopi's Dance (file already       downloader.py:532
                    exists)
[14:46:18] INFO     asyncio_4 - Skipping Margot Reisinger - Palace Of The Winds (file        downloader.py:532
                    already exists)
[14:46:18] INFO     asyncio_1 - Skipping Margot Reisinger - Shakti's Dream (file already     downloader.py:532
                    exists)
[14:46:18] INFO     asyncio_0 - Skipping Chet Faker - Talk Is Cheap (file already exists)    downloader.py:532
[14:46:18] INFO     asyncio_4 - Skipping Chet Faker - No Advice - Airport Version (file      downloader.py:532
                    already exists)
[14:46:18] INFO     asyncio_2 - Skipping Margot Reisinger - Sanatana Dharma (file already    downloader.py:532
                    exists)
[14:46:18] INFO     asyncio_3 - Skipping Chet Faker - Release Your Problems (file already    downloader.py:532
                    exists)
[14:46:19] INFO     asyncio_1 - Skipping Chet Faker - Melt (file already exists)             downloader.py:532
[14:46:19] INFO     asyncio_4 - Skipping Chet Faker - / (file already exists)                downloader.py:532
[14:46:19] INFO     asyncio_0 - Skipping Chet Faker - To Me (file already exists)            downloader.py:532
[14:46:19] INFO     asyncio_1 - Skipping Chet Faker - Cigarettes & Loneliness (file already  downloader.py:532
                    exists)
[14:46:19] INFO     asyncio_4 - Skipping Chet Faker - Lesson in Patience (file already       downloader.py:532
                    exists)
[14:46:19] INFO     asyncio_3 - Skipping Chet Faker - 1998 (file already exists)             downloader.py:532
[14:46:19] INFO     asyncio_2 - Skipping Chet Faker - Blush (file already exists)            downloader.py:532
[14:46:19] INFO     asyncio_0 - Skipping Chet Faker - Dead Body (file already exists)        downloader.py:532
[14:46:19] INFO     MainThread - Saved errors to /home/julie/spotdl/1.spotdlerrors.txt       downloader.py:316
[14:46:19] WARNING  MainThread - M3U file name contains '{list}' but no lists were provided.        m3u.py:125
                    Specify a filename.
[14:46:19] DEBUG    MainThread - Took 4 seconds                                             entry_point.py:182

Other details

Love spotdl. Fantastic piece of software!

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugUnexpected problem or unintended behavior that needs to be fixed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions