[GH-ISSUE #159] [Bug Report] None has no attribute check_skippable #144

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

Originally created by @2uu7 on GitHub (Jan 25, 2026).
Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/159

Originally assigned to: @Googolplexed0 on GitHub.

Zotify Version
v0.11.15

Bug Description

% zotify "https://open.spotify.com/track/1D1cBWh7IJ5DqOIYqCtqZa?si=e58f493761e94218" --debug --bypass-metadata-api True
DEBUG                                                                           
###   config_DEBUG.json saved to /Users/ll/Library/Application Support/Zotify   ###
###   zotify_DEBUG_2026-01-25_04-05-38.log logging to /Users/ll/Desktop/_/Music/queue   ###
                                                                                
	[∙●∙] Logging in...                                                            
DEBUG                                                                           
Session Initialized Successfully                                                
User Subscription Type: PREMIUM                                                 
Request Parsed as 1 URL                                                         
                                                                                
	[∙∙∙] Preparing Download...                                                    
###   ERROR:  FAILED TO FETCH AUDIO KEY   ###                                   
###   MAY BE CAUSED BY RATE LIMITS - CONSIDER INCREASING `BULK_WAIT_TIME`   ### 
###   GID: 35890082ee3541ad929859728a1a5d70 - File_ID: b3f7636b1ae57f83e3aa8a4046baa929e04f7490   ###
                                                                                
###   ERROR:  SKIPPING TRACK - FAILED TO GET CONTENT STREAM   ###               
###   Track_ID: 1D1cBWh7IJ5DqOIYqCtqZa   ### 

Bug Triggering Command
% zotify "https://open.spotify.com/track/1D1cBWh7IJ5DqOIYqCtqZa?si=e58f493761e94218" --debug --bypass-metadata-api True

Config File
config.json

Additional Context
Been using Zotify for a couple of months already, but this is the first time I try to use Zotify after API stopped working. I made sure to pipx install git+https://github.com/Googolplexed0/zotify.git@efficient-api --force from efficient-api branch, I have the latest config file and everything, redid login and have the credentials.json generate as usual + premium account successfully logges in. I tried to download a track without metadata, but it just fails as shown above. I've tried multiple track links, same outcome.

Originally created by @2uu7 on GitHub (Jan 25, 2026). Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/159 Originally assigned to: @Googolplexed0 on GitHub. **Zotify Version** v0.11.15 **Bug Description** ``` % zotify "https://open.spotify.com/track/1D1cBWh7IJ5DqOIYqCtqZa?si=e58f493761e94218" --debug --bypass-metadata-api True DEBUG ### config_DEBUG.json saved to /Users/ll/Library/Application Support/Zotify ### ### zotify_DEBUG_2026-01-25_04-05-38.log logging to /Users/ll/Desktop/_/Music/queue ### [∙●∙] Logging in... DEBUG Session Initialized Successfully User Subscription Type: PREMIUM Request Parsed as 1 URL [∙∙∙] Preparing Download... ### ERROR: FAILED TO FETCH AUDIO KEY ### ### MAY BE CAUSED BY RATE LIMITS - CONSIDER INCREASING `BULK_WAIT_TIME` ### ### GID: 35890082ee3541ad929859728a1a5d70 - File_ID: b3f7636b1ae57f83e3aa8a4046baa929e04f7490 ### ### ERROR: SKIPPING TRACK - FAILED TO GET CONTENT STREAM ### ### Track_ID: 1D1cBWh7IJ5DqOIYqCtqZa ### ``` **Bug Triggering Command** `% zotify "https://open.spotify.com/track/1D1cBWh7IJ5DqOIYqCtqZa?si=e58f493761e94218" --debug --bypass-metadata-api True` **Config File** [config.json](https://github.com/user-attachments/files/24841682/config.json) **Additional Context** Been using Zotify for a couple of months already, but this is the first time I try to use Zotify after API stopped working. I made sure to `pipx install git+https://github.com/Googolplexed0/zotify.git@efficient-api --force` from `efficient-api` branch, I have the latest config file and everything, redid login and have the credentials.json generate as usual + premium account successfully logges in. I tried to download a track without metadata, but it just fails as shown above. I've tried multiple track links, same outcome.
kerem 2026-02-27 04:57:47 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@2uu7 commented on GitHub (Jan 25, 2026):

I do not have access to Spotify developer access tokens (as Spotify for Developers doesn't currently allow users to create new "apps"), so I just plan to download the audio files as they are and make a separate program to add metadata to downloaded tracks.

<!-- gh-comment-id:3795897420 --> @2uu7 commented on GitHub (Jan 25, 2026): I do not have access to Spotify developer access tokens (as Spotify for Developers doesn't currently allow users to create new "apps"), so I just plan to download the audio files as they are and make a separate program to add metadata to downloaded tracks.
Author
Owner

@2uu7 commented on GitHub (Jan 25, 2026):

After reading multiple messages here, It seems that no one was successful in downloading tracks without api key.

<!-- gh-comment-id:3795906079 --> @2uu7 commented on GitHub (Jan 25, 2026): After reading multiple messages here, It seems that no one was successful in downloading tracks without api key.
Author
Owner

@GeneralJarrett97 commented on GitHub (Jan 25, 2026):

Might be worth trying the new-hierarchy branch but I'm new to this program and also have not been able to get it to work as a non-developer.

<!-- gh-comment-id:3796853024 --> @GeneralJarrett97 commented on GitHub (Jan 25, 2026): Might be worth trying the new-hierarchy branch but I'm new to this program and also have not been able to get it to work as a non-developer.
Author
Owner

@2uu7 commented on GitHub (Jan 25, 2026):

Zotify Version
v0.15.3

% pipx uninstall zotify                  
uninstalled zotify! ✨ 🌟 ✨
% pipx install git+https://github.com/Googolplexed0/zotify.git@new-hierarchy                                            
  installed package zotify 0.15.3, installed using Python 3.14.0
  These apps are now globally available
    - zotify
done! ✨ 🌟 ✨
% zotify
                                                                                
	[●∙∙] Logging in...                                                            
###   NO MODE SELECTED, DEFAULTING TO SEARCH   ###                              
                                                                                
###   METADATA BYPASS ENABLED - NON-URL MODES NON-FUNCTIONAL   ###              


% zotify --update-config
                                                                                
DEBUG                                                                           
###   config.json saved to /Users/ll/Library/Application Support/Zotify   ###   
                                                                                
	[∙∙∙] Logging in...                                                            
###   NO MODE SELECTED, DEFAULTING TO SEARCH   ###                              
                                                                                
###   METADATA BYPASS ENABLED - NON-URL MODES NON-FUNCTIONAL   ###              



% zotify "https://open.spotify.com/track/28drn6tQo95MRvO0jQEo5C?si=5c21a85783614024" --debug
                                                                                
DEBUG                                                                           
###   config_DEBUG.json saved to /Users/ll/Library/Application Support/Zotify   ###
###   zotify_DEBUG_2026-01-25_20-02-12.log logging to /Users/ll/Desktop/_/Music/queue   ###
                                                                                
	[∙∙∙] Logging in...                                                            
DEBUG                                                                           
Session Initialized Successfully                                                
User Subscription Type: PREMIUM                                                 
Request Parsed as 1 URL                                                         
                                                                                
	[●∙∙] Parsing track information...                                             
###   WARNING:  Missing Expected Response for Related Metadata Object   ###     
###   Parsing Child #0 of Query (2026-01-25_20-02-12)   ###                     
###   Expected Relative Types: ['Track']   ###                                  
                                                                                
	[∙●∙] Parsing track information...                                             
################################################################################
{'uri': 'track:28drn6tQo95MRvO0jQEo5C'}                                         
################################################################################
                                                                                
	[∙∙∙] Parsing track information...                                             


Traceback (most recent call last):
  File "/Users/ll/.local/bin/zotify", line 7, in <module>
    sys.exit(main())
             ~~~~^^
  File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/__main__.py", line 143, in main
    client(args, modes)
    ~~~~~~^^^^^^^^^^^^^
  File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/app.py", line 186, in client
    perform_query(args)
    ~~~~~~~~~~~~~^^^^^^
  File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/app.py", line 178, in perform_query
    raise e
  File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/app.py", line 149, in perform_query
    Query(Zotify.DATETIME_LAUNCH).request(urls).execute()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/api.py", line 1517, in execute
    self.download()
    ~~~~~~~~~~~~~^^
  File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/api.py", line 1462, in download
    nonskipped = [ps for ps in pss if not ps.check_skippable()] # handles already downloaded
                                          ~~~~~~~~~~~~~~~~~~^^
  File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/api.py", line 1300, in check_skippable
    return any(c.check_skippable(self) for c in self[::-1])
           ^^^
  File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/api.py", line 1300, in <genexpr>
    return any(c.check_skippable(self) for c in self[::-1])
               ^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'check_skippable'
% 
<!-- gh-comment-id:3797105143 --> @2uu7 commented on GitHub (Jan 25, 2026): **Zotify Version** v0.15.3 ``` % pipx uninstall zotify uninstalled zotify! ✨ 🌟 ✨ % pipx install git+https://github.com/Googolplexed0/zotify.git@new-hierarchy installed package zotify 0.15.3, installed using Python 3.14.0 These apps are now globally available - zotify done! ✨ 🌟 ✨ % zotify [●∙∙] Logging in... ### NO MODE SELECTED, DEFAULTING TO SEARCH ### ### METADATA BYPASS ENABLED - NON-URL MODES NON-FUNCTIONAL ### % zotify --update-config DEBUG ### config.json saved to /Users/ll/Library/Application Support/Zotify ### [∙∙∙] Logging in... ### NO MODE SELECTED, DEFAULTING TO SEARCH ### ### METADATA BYPASS ENABLED - NON-URL MODES NON-FUNCTIONAL ### % zotify "https://open.spotify.com/track/28drn6tQo95MRvO0jQEo5C?si=5c21a85783614024" --debug DEBUG ### config_DEBUG.json saved to /Users/ll/Library/Application Support/Zotify ### ### zotify_DEBUG_2026-01-25_20-02-12.log logging to /Users/ll/Desktop/_/Music/queue ### [∙∙∙] Logging in... DEBUG Session Initialized Successfully User Subscription Type: PREMIUM Request Parsed as 1 URL [●∙∙] Parsing track information... ### WARNING: Missing Expected Response for Related Metadata Object ### ### Parsing Child #0 of Query (2026-01-25_20-02-12) ### ### Expected Relative Types: ['Track'] ### [∙●∙] Parsing track information... ################################################################################ {'uri': 'track:28drn6tQo95MRvO0jQEo5C'} ################################################################################ [∙∙∙] Parsing track information... Traceback (most recent call last): File "/Users/ll/.local/bin/zotify", line 7, in <module> sys.exit(main()) ~~~~^^ File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/__main__.py", line 143, in main client(args, modes) ~~~~~~^^^^^^^^^^^^^ File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/app.py", line 186, in client perform_query(args) ~~~~~~~~~~~~~^^^^^^ File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/app.py", line 178, in perform_query raise e File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/app.py", line 149, in perform_query Query(Zotify.DATETIME_LAUNCH).request(urls).execute() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/api.py", line 1517, in execute self.download() ~~~~~~~~~~~~~^^ File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/api.py", line 1462, in download nonskipped = [ps for ps in pss if not ps.check_skippable()] # handles already downloaded ~~~~~~~~~~~~~~~~~~^^ File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/api.py", line 1300, in check_skippable return any(c.check_skippable(self) for c in self[::-1]) ^^^ File "/Users/ll/.local/pipx/venvs/zotify/lib/python3.14/site-packages/zotify/api.py", line 1300, in <genexpr> return any(c.check_skippable(self) for c in self[::-1]) ^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'check_skippable' % ```
Author
Owner

@Googolplexed0 commented on GitHub (Jan 25, 2026):

Should work with v0.15.5 after github.com/Googolplexed0/zotify@6564336170

<!-- gh-comment-id:3797215104 --> @Googolplexed0 commented on GitHub (Jan 25, 2026): Should work with v0.15.5 after https://github.com/Googolplexed0/zotify/commit/6564336170461d53b5be2e53c4cc1fe87b633b26
Author
Owner

@2uu7 commented on GitHub (Jan 25, 2026):

ll@Mac-3 ~ % zotify --version
Zotify 0.15.5

ll@Mac-3 ~ % zotify
                                                                                
	[●∙∙] Logging in...                                                            
###   NO MODE SELECTED, DEFAULTING TO SEARCH   ###                              
                                                                                
###   METADATA BYPASS ENABLED - NON-URL MODES NON-FUNCTIONAL   ###              


ll@Mac-3 ~ % zotify "https://open.spotify.com/track/5EeQQ8BVJTRkp1AIKJILGY?si=dcc4c4fa1ad94ae8"
                                                                                
	[∙∙∙] Logging in...                                                             [●∙∙] Parsing track information...                                              [●∙∙] Preparing Download...                                                                                                                             
###   ERROR:  FAILED TO FETCH AUDIO KEY   ###                                   
###   MAY BE CAUSED BY RATE LIMITS - CONSIDER INCREASING `BULK_WAIT_TIME`   ### 
###   GID: b99bf48fe9234580bb3f08db90343bd4 - File_ID: 81c34f0791d42409db967522edfc10268ac32c18   ###
                                                                                
###   ERROR:  SKIPPING TRACK - FAILED TO GET CONTENT STREAM   ###               
###   Track_ID: 5EeQQ8BVJTRkp1AIKJILGY   ###                                    
                                                                                
<!-- gh-comment-id:3797329976 --> @2uu7 commented on GitHub (Jan 25, 2026): ``` ll@Mac-3 ~ % zotify --version Zotify 0.15.5 ll@Mac-3 ~ % zotify [●∙∙] Logging in... ### NO MODE SELECTED, DEFAULTING TO SEARCH ### ### METADATA BYPASS ENABLED - NON-URL MODES NON-FUNCTIONAL ### ll@Mac-3 ~ % zotify "https://open.spotify.com/track/5EeQQ8BVJTRkp1AIKJILGY?si=dcc4c4fa1ad94ae8" [∙∙∙] Logging in... [●∙∙] Parsing track information... [●∙∙] Preparing Download... ### ERROR: FAILED TO FETCH AUDIO KEY ### ### MAY BE CAUSED BY RATE LIMITS - CONSIDER INCREASING `BULK_WAIT_TIME` ### ### GID: b99bf48fe9234580bb3f08db90343bd4 - File_ID: 81c34f0791d42409db967522edfc10268ac32c18 ### ### ERROR: SKIPPING TRACK - FAILED TO GET CONTENT STREAM ### ### Track_ID: 5EeQQ8BVJTRkp1AIKJILGY ### ```
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#144
No description provided.