File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed
Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -122,7 +122,7 @@ def get_tracks(self, feed):
122122 global CONSUMER_KEY
123123
124124 json_url = ('https://api.soundcloud.com/users/%(user)s/%(feed)s.'
125- 'json?filter=downloadable& consumer_key=%'
125+ 'json?consumer_key=%'
126126 '(consumer_key)s&limit=200'
127127 % {"user" : self .get_user_id (),
128128 "feed" : feed ,
@@ -131,12 +131,16 @@ def get_tracks(self, feed):
131131 logger .debug ('get_tracks url: %s' , json_url )
132132
133133 json_tracks = json .loads (util .urlopen (json_url ).read ().decode ('utf-8' ))
134- tracks = [track for track in json_tracks ]
134+ tracks = [track for track in json_tracks if track [ 'streamable' ] or track [ 'downloadable' ] ]
135135
136136 for track in tracks :
137137 # Prefer stream URL (MP3), fallback to download URL
138- url = track .get ('stream_url' , track ['download_url' ]) + \
139- '?consumer_key=%(consumer_key)s' % {'consumer_key' : CONSUMER_KEY }
138+ base_url = track .get ('stream_url' ) if track ['streamable' ] else track .get ('download_url' )
139+ if base_url != None :
140+ url = base_url + '?consumer_key=%(consumer_key)s' % {'consumer_key' : CONSUMER_KEY }
141+ else :
142+ logger .debug ('Skipping track with no base_url' )
143+ continue
140144
141145 logger .debug ('track in tracks url: %s' , url )
142146
You can’t perform that action at this time.
0 commit comments