Added user favorites to gw

This commit is contained in:
RemixDev 2020-11-19 21:49:39 +01:00
parent 1834a87378
commit 2ac9bf0d0d
No known key found for this signature in database
GPG key ID: B33962B465BDB51C
3 changed files with 34 additions and 3 deletions

View file

@ -4,7 +4,7 @@ from deezer.gw import GW
from deezer.api import API from deezer.api import API
import json import json
__version__ = "0.0.6" __version__ = "0.0.7"
class TrackFormats(): class TrackFormats():
"""Number associtation for formats""" """Number associtation for formats"""

View file

@ -2,7 +2,7 @@ import eventlet
requests = eventlet.import_patched('requests') requests = eventlet.import_patched('requests')
import json import json
from deezer.utils import map_artist_album from deezer.utils import map_artist_album, map_user_track, map_user_artist, map_user_album, map_user_playlist
class LyricsStatus(): class LyricsStatus():
"""Explicit Content Lyrics""" """Explicit Content Lyrics"""
@ -80,6 +80,9 @@ class GW:
def get_user_data(self): def get_user_data(self):
return self.api_call('deezer.getUserData') return self.api_call('deezer.getUserData')
def get_user_profile_page(self, user_id, tab, limit=10):
return self.api_call('deezer.pageProfile', {'user_id': user_id, 'tab': tab, 'nb': limit})
def get_child_accounts(self): def get_child_accounts(self):
return self.api_call('deezer.getChildAccounts') return self.api_call('deezer.getChildAccounts')
@ -279,6 +282,34 @@ class GW:
body = self.get_track(sng_id) body = self.get_track(sng_id)
return body return body
def get_user_playlists(self, user_id):
data = self.get_user_profile_page(user_id, 'playlists', limit=-1)['TAB']['playlists']['data']
result = []
for playlist in data:
result.append(map_user_playlist(playlist))
return result
def get_user_albums(self, user_id):
data = self.get_user_profile_page(user_id, 'albums', limit=-1)['TAB']['albums']['data']
result = []
for album in data:
result.append(map_user_album(album))
return result
def get_user_artists(self, user_id):
data = self.get_user_profile_page(user_id, 'artists', limit=-1)['TAB']['artists']['data']
result = []
for artist in data:
result.append(map_user_artist(artist))
return result
def get_user_tracks(self, user_id):
data = self.get_user_profile_page(user_id, 'loved', limit=-1)['TAB']['loved']['data']
result = []
for track in data:
result.append(map_user_track(track))
return result
class APIError(Exception): class APIError(Exception):
"""Base class for Deezer exceptions""" """Base class for Deezer exceptions"""
pass pass

View file

@ -7,7 +7,7 @@ README = (HERE / "README.md").read_text()
setup( setup(
name="deezer-py", name="deezer-py",
version="0.0.6", version="0.0.7",
description="A wrapper for all Deezer's APIs", description="A wrapper for all Deezer's APIs",
long_description=README, long_description=README,
long_description_content_type="text/markdown", long_description_content_type="text/markdown",