|
a/src/mediaserver/cdplugins/qobuz/session.py |
|
b/src/mediaserver/cdplugins/qobuz/session.py |
|
... |
|
... |
259 |
|
259 |
|
260 |
def __init__(self, session):
|
260 |
def __init__(self, session):
|
261 |
self.session = session
|
261 |
self.session = session
|
262 |
|
262 |
|
263 |
def artists(self):
|
263 |
def artists(self):
|
|
|
264 |
offset = 0
|
|
|
265 |
artists = []
|
|
|
266 |
while True:
|
264 |
r = self.session.api.favorite_getUserFavorites(
|
267 |
r = self.session.api.favorite_getUserFavorites(
|
265 |
user_id = self.session.user.id,
|
268 |
user_id = self.session.user.id,
|
266 |
type = 'artists')
|
269 |
type = 'artists', offset=offset, limit=45)
|
267 |
#uplog("%s" % r)
|
270 |
#uplog("%s" % r)
|
268 |
return [_parse_artist(item) for item in r['artists']['items']]
|
271 |
arts = [_parse_artist(item) for item in r['artists']['items']]
|
|
|
272 |
artists += arts
|
|
|
273 |
uplog("Favourite artists: got %d at offs %d"% (len(arts), offset))
|
|
|
274 |
offset += len(arts)
|
|
|
275 |
if len(arts) != 45:
|
|
|
276 |
break
|
|
|
277 |
|
|
|
278 |
return artists
|
269 |
|
279 |
|
270 |
def albums(self):
|
280 |
def albums(self):
|
|
|
281 |
offset = 0
|
|
|
282 |
albums = []
|
|
|
283 |
while True:
|
271 |
r = self.session.api.favorite_getUserFavorites(
|
284 |
r = self.session.api.favorite_getUserFavorites(
|
272 |
user_id = self.session.user.id,
|
285 |
user_id = self.session.user.id,
|
273 |
type = 'albums')
|
286 |
type = 'albums', offset = offset, limit=45)
|
274 |
#uplog("%s" % r)
|
287 |
#uplog("%s" % r)
|
275 |
albums = [_parse_album(item) for item in r['albums']['items']]
|
288 |
albs = [_parse_album(item) for item in r['albums']['items']]
|
|
|
289 |
albums += albs
|
|
|
290 |
uplog("Favourite albums: got %d at offset %d"% (len(albs), offset))
|
|
|
291 |
offset += len(albs)
|
|
|
292 |
if len(albs) != 45:
|
|
|
293 |
break
|
|
|
294 |
|
276 |
return [alb for alb in albums if alb.available]
|
295 |
return [alb for alb in albums if alb.available]
|
277 |
|
296 |
|
278 |
def playlists(self):
|
297 |
def playlists(self):
|
279 |
r = self.session.api.playlist_getUserPlaylists()
|
298 |
r = self.session.api.playlist_getUserPlaylists()
|
280 |
return [_parse_playlist(item) for item in r['playlists']['items']]
|
299 |
return [_parse_playlist(item) for item in r['playlists']['items']]
|
281 |
|
300 |
|
282 |
def tracks(self):
|
301 |
def tracks(self):
|
|
|
302 |
offset = 0
|
|
|
303 |
result = []
|
|
|
304 |
while True:
|
283 |
r = self.session.api.favorite_getUserFavorites(
|
305 |
r = self.session.api.favorite_getUserFavorites(
|
284 |
user_id = self.session.user.id,
|
306 |
user_id = self.session.user.id,
|
285 |
type = 'tracks')
|
307 |
type = 'tracks', offset=offset, limit=45)
|
286 |
#uplog("%s" % r)
|
308 |
#uplog("%s" % r)
|
287 |
return [_parse_track(item) for item in r['tracks']['items']]
|
309 |
res = [_parse_track(item) for item in r['tracks']['items']]
|
|
|
310 |
result += res
|
|
|
311 |
uplog("Favourite tracks: got %d at offs %d"% (len(res), offset))
|
|
|
312 |
offset += len(res)
|
|
|
313 |
if len(res) != 45:
|
|
|
314 |
break
|
|
|
315 |
|
|
|
316 |
return [trk for trk in result if trk.available]
|
288 |
|
317 |
|
289 |
|
318 |
|
290 |
class User(object):
|
319 |
class User(object):
|
291 |
def __init__(self, session, id):
|
320 |
def __init__(self, session, id):
|
292 |
self.session = session
|
321 |
self.session = session
|