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