[GH-ISSUE #104] [Bug Report] Duplicate Downloads After Skipping & FeederException #91

Closed
opened 2026-02-27 04:57:29 +03:00 by kerem · 3 comments
Owner

Originally created by @havoktheorem on GitHub (Oct 23, 2025).
Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/104

Originally assigned to: @Googolplexed0 on GitHub.

0.10.16

I can't manage to get every song in my liked songs downloaded before a rate limits or other bug stops the flow. When I start it again, I end up with the same songs being downloaded multiple times. I tried manually specifying the song_archive location and it made no different.

{
    "ROOT_PATH": "~/Music/Zotify Music",
    "SAVE_CREDENTIALS": "True",
    "CREDENTIALS_LOCATION": "",
    "OUTPUT": "",
    "OUTPUT_SINGLE": "{artist}/{album}/{artist}_{song_name}",
    "OUTPUT_ALBUM": "{artist}/{album}/{album_num}_{artist}_{song_name}",
    "OUTPUT_PLAYLIST_EXT": "{playlist}/{playlist_num}_{artist}_{song_name}",
    "OUTPUT_LIKED_SONGS": "Liked Songs/{artist}_{song_name}",
    "ROOT_PODCAST_PATH": "~/Music/Zotify Podcasts",
    "SPLIT_ALBUM_DISCS": "False",
    "MAX_FILENAME_LENGTH": "0",
    "OPTIMIZED_DOWNLOADING": "True",
    "BULK_WAIT_TIME": "10",
    "DOWNLOAD_REAL_TIME": "False",
    "TEMP_DOWNLOAD_DIR": "",
    "DOWNLOAD_PARENT_ALBUM": "False",
    "NO_COMPILATION_ALBUMS": "False",
    "REGEX_ENABLED": "False",
    "REGEX_TRACK_SKIP": "",
    "REGEX_EPISODE_SKIP": "",
    "REGEX_ALBUM_SKIP": "",
    "DOWNLOAD_FORMAT": "copy",
    "DOWNLOAD_QUALITY": "auto",
    "TRANSCODE_BITRATE": "auto",
    "CUSTOM_FFMEPG_ARGS": "",
    "SONG_ARCHIVE_LOCATION": "~/AppData/Roaming/Zotify",
    "DISABLE_SONG_ARCHIVE": "False",
    "DISABLE_DIRECTORY_ARCHIVES": "False",
    "SKIP_EXISTING": "True",
    "SKIP_PREVIOUSLY_DOWNLOADED": "True",
    "EXPORT_M3U8": "False",
    "M3U8_LOCATION": "",
    "M3U8_REL_PATHS": "True",
    "LIKED_SONGS_ARCHIVE_M3U8": "True",
    "DOWNLOAD_LYRICS": "True",
    "LYRICS_LOCATION": "",
    "LYRICS_FILENAME": "{artist}_{song_name}",
    "ALWAYS_CHECK_LYRICS": "False",
    "LYRICS_MD_HEADER": "False",
    "LANGUAGE": "en",
    "STRICT_LIBRARY_VERIFY": "True",
    "MD_DISC_TRACK_TOTALS": "True",
    "MD_SAVE_GENRES": "False",
    "MD_ALLGENRES": "False",
    "MD_GENREDELIMITER": ", ",
    "MD_ARTISTDELIMITER": ", ",
    "MD_SAVE_LYRICS": "True",
    "ALBUM_ART_JPG_FILE": "False",
    "SEARCH_QUERY_SIZE": "10",
    "RETRY_ATTEMPTS": "3",
    "CHUNK_SIZE": "50000",
    "REDIRECT_ADDRESS": "127.0.0.1",
    "PRINT_SPLASH": "False",
    "PRINT_PROGRESS_INFO": "True",
    "PRINT_SKIPS": "True",
    "PRINT_DOWNLOADS": "True",
    "PRINT_DOWNLOAD_PROGRESS": "True",
    "PRINT_URL_PROGRESS": "True",
    "PRINT_ALBUM_PROGRESS": "True",
    "PRINT_ARTIST_PROGRESS": "True",
    "PRINT_PLAYLIST_PROGRESS": "True",
    "PRINT_WARNINGS": "True",
    "PRINT_ERRORS": "True",
    "PRINT_API_ERRORS": "True",
    "STANDARD_INTERFACE": "False",
    "FFMPEG_LOG_LEVEL": "error"
}
Originally created by @havoktheorem on GitHub (Oct 23, 2025). Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/104 Originally assigned to: @Googolplexed0 on GitHub. 0.10.16 I can't manage to get every song in my liked songs downloaded before a rate limits or other bug stops the flow. When I start it again, I end up with the same songs being downloaded multiple times. I tried manually specifying the song_archive location and it made no different. ``` { "ROOT_PATH": "~/Music/Zotify Music", "SAVE_CREDENTIALS": "True", "CREDENTIALS_LOCATION": "", "OUTPUT": "", "OUTPUT_SINGLE": "{artist}/{album}/{artist}_{song_name}", "OUTPUT_ALBUM": "{artist}/{album}/{album_num}_{artist}_{song_name}", "OUTPUT_PLAYLIST_EXT": "{playlist}/{playlist_num}_{artist}_{song_name}", "OUTPUT_LIKED_SONGS": "Liked Songs/{artist}_{song_name}", "ROOT_PODCAST_PATH": "~/Music/Zotify Podcasts", "SPLIT_ALBUM_DISCS": "False", "MAX_FILENAME_LENGTH": "0", "OPTIMIZED_DOWNLOADING": "True", "BULK_WAIT_TIME": "10", "DOWNLOAD_REAL_TIME": "False", "TEMP_DOWNLOAD_DIR": "", "DOWNLOAD_PARENT_ALBUM": "False", "NO_COMPILATION_ALBUMS": "False", "REGEX_ENABLED": "False", "REGEX_TRACK_SKIP": "", "REGEX_EPISODE_SKIP": "", "REGEX_ALBUM_SKIP": "", "DOWNLOAD_FORMAT": "copy", "DOWNLOAD_QUALITY": "auto", "TRANSCODE_BITRATE": "auto", "CUSTOM_FFMEPG_ARGS": "", "SONG_ARCHIVE_LOCATION": "~/AppData/Roaming/Zotify", "DISABLE_SONG_ARCHIVE": "False", "DISABLE_DIRECTORY_ARCHIVES": "False", "SKIP_EXISTING": "True", "SKIP_PREVIOUSLY_DOWNLOADED": "True", "EXPORT_M3U8": "False", "M3U8_LOCATION": "", "M3U8_REL_PATHS": "True", "LIKED_SONGS_ARCHIVE_M3U8": "True", "DOWNLOAD_LYRICS": "True", "LYRICS_LOCATION": "", "LYRICS_FILENAME": "{artist}_{song_name}", "ALWAYS_CHECK_LYRICS": "False", "LYRICS_MD_HEADER": "False", "LANGUAGE": "en", "STRICT_LIBRARY_VERIFY": "True", "MD_DISC_TRACK_TOTALS": "True", "MD_SAVE_GENRES": "False", "MD_ALLGENRES": "False", "MD_GENREDELIMITER": ", ", "MD_ARTISTDELIMITER": ", ", "MD_SAVE_LYRICS": "True", "ALBUM_ART_JPG_FILE": "False", "SEARCH_QUERY_SIZE": "10", "RETRY_ATTEMPTS": "3", "CHUNK_SIZE": "50000", "REDIRECT_ADDRESS": "127.0.0.1", "PRINT_SPLASH": "False", "PRINT_PROGRESS_INFO": "True", "PRINT_SKIPS": "True", "PRINT_DOWNLOADS": "True", "PRINT_DOWNLOAD_PROGRESS": "True", "PRINT_URL_PROGRESS": "True", "PRINT_ALBUM_PROGRESS": "True", "PRINT_ARTIST_PROGRESS": "True", "PRINT_PLAYLIST_PROGRESS": "True", "PRINT_WARNINGS": "True", "PRINT_ERRORS": "True", "PRINT_API_ERRORS": "True", "STANDARD_INTERFACE": "False", "FFMPEG_LOG_LEVEL": "error" } ```
kerem 2026-02-27 04:57:29 +03:00
Author
Owner

@havoktheorem commented on GitHub (Oct 24, 2025):

This is the error I get. You can see it reads out 'SKIPPING:' but then somehow downloads or duplicates the track anyway.

Image
###   ERROR:  UNEXPECTED ERROR DURING DOWNLOADS   ###
###   ATTEMPTING TO CLEAN UP   ###

###   ERROR:  CLEAN UP COMPLETE   ###
###   LOGGING ERROR AND TRACEBACK   ###


Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "c:\users\frank\.local\bin\zotify.exe\__main__.py", line 6, in <module>
    sys.exit(main())
             ~~~~^^
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\__main__.py", line 134, in main
    args.func(args, modes)
    ~~~~~~~~~^^^^^^^^^^^^^
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\app.py", line 81, in client
    perform_query(args)
    ~~~~~~~~~~~~~^^^^^^
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\app.py", line 71, in perform_query
    raise e
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\app.py", line 47, in perform_query
    LikedSongs(Zotify.DATETIME_LAUNCH).execute()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\api.py", line 1735, in execute
    self.download()
    ~~~~~~~~~~~~~^^
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\api.py", line 1667, in download
    raise interrupt
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\api.py", line 1637, in download
    super().download(pbar_stack=None)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\api.py", line 1162, in download
    child.download(pbar_stack)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\api.py", line 907, in download
    stream = Zotify.get_content_stream(self)
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\config.py", line 678, in get_content_stream
    return cls.SESSION.content_feeder().load(content_id, Zotify.DOWNLOAD_QUALITY, False, None)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\librespot\audio\__init__.py", line 741, in load
    return self.load_track(playable_id, audio_quality_picker, preload,
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                           halt_listener)
                           ^^^^^^^^^^^^^^
  File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\librespot\audio\__init__.py", line 801, in load_track
    raise FeederException()
librespot.structure.FeederException
<!-- gh-comment-id:3442277457 --> @havoktheorem commented on GitHub (Oct 24, 2025): This is the error I get. You can see it reads out 'SKIPPING:' but then somehow downloads or duplicates the track anyway. <img width="1369" height="107" alt="Image" src="https://github.com/user-attachments/assets/2201c7b8-7085-4363-a094-c0f7ea39acdb" /> ``` ### ERROR: UNEXPECTED ERROR DURING DOWNLOADS ### ### ATTEMPTING TO CLEAN UP ### ### ERROR: CLEAN UP COMPLETE ### ### LOGGING ERROR AND TRACEBACK ### Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "c:\users\frank\.local\bin\zotify.exe\__main__.py", line 6, in <module> sys.exit(main()) ~~~~^^ File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\__main__.py", line 134, in main args.func(args, modes) ~~~~~~~~~^^^^^^^^^^^^^ File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\app.py", line 81, in client perform_query(args) ~~~~~~~~~~~~~^^^^^^ File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\app.py", line 71, in perform_query raise e File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\app.py", line 47, in perform_query LikedSongs(Zotify.DATETIME_LAUNCH).execute() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\api.py", line 1735, in execute self.download() ~~~~~~~~~~~~~^^ File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\api.py", line 1667, in download raise interrupt File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\api.py", line 1637, in download super().download(pbar_stack=None) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\api.py", line 1162, in download child.download(pbar_stack) ~~~~~~~~~~~~~~^^^^^^^^^^^^ File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\api.py", line 907, in download stream = Zotify.get_content_stream(self) File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\zotify\config.py", line 678, in get_content_stream return cls.SESSION.content_feeder().load(content_id, Zotify.DOWNLOAD_QUALITY, False, None) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\librespot\audio\__init__.py", line 741, in load return self.load_track(playable_id, audio_quality_picker, preload, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ halt_listener) ^^^^^^^^^^^^^^ File "C:\Users\FRANK\pipx\venvs\zotify\Lib\site-packages\librespot\audio\__init__.py", line 801, in load_track raise FeederException() librespot.structure.FeederException ```
Author
Owner

@Googolplexed0 commented on GitHub (Oct 28, 2025):

This is the error I get. You can see it reads out 'SKIPPING:' but then somehow downloads or duplicates the track anyway.

This is very strange. Clearly it is detecting that they should be skipped, but it's not skipping them. Please try updating to v0.10.22 (which will also update librespot-python), run with --debug enabled, and attach the created logfile. This might give a clue as to what is happening on your machine.

I will try to reproduce this but skipping works perfectly for me. Maybe also try with OPTIMIZED_DOWNLOADING off? This shouldn't be the problem but it would be very interesting if it had an effect.

<!-- gh-comment-id:3454330319 --> @Googolplexed0 commented on GitHub (Oct 28, 2025): > This is the error I get. You can see it reads out 'SKIPPING:' but then somehow downloads or duplicates the track anyway. This is very strange. Clearly it is detecting that they should be skipped, but it's not skipping them. Please try updating to v0.10.22 (which will also update librespot-python), run with `--debug` enabled, and attach the created logfile. This might give a clue as to what is happening on your machine. I will try to reproduce this but skipping works perfectly for me. Maybe also try with `OPTIMIZED_DOWNLOADING` off? This shouldn't be the problem but it would be very interesting if it had an effect.
Author
Owner

@Googolplexed0 commented on GitHub (Nov 21, 2025):

Stale

<!-- gh-comment-id:3564781747 --> @Googolplexed0 commented on GitHub (Nov 21, 2025): Stale
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/zotify#91
No description provided.