Started adding Spotify Features

Added support for tracks and albums
This commit is contained in:
RemixDev
2020-04-06 15:57:10 +02:00
parent a032bb13b4
commit d94dbcf835
4 changed files with 110 additions and 7 deletions

View File

@ -3,6 +3,7 @@ from deemix.api.deezer import APIError, USER_AGENT_HEADER
from deemix.utils.taggers import tagID3, tagFLAC
from deemix.utils.pathtemplates import generateFilename, generateFilepath, settingsRegexAlbum, settingsRegexArtist
from deemix.utils.misc import changeCase
from deemix.utils.spotifyHelper import get_trackid_spotify, get_albumid_spotify
import os.path
from os import makedirs, remove
from requests import get
@ -565,6 +566,15 @@ def download_track(dz, id, settings, overwriteBitrate=False):
result = downloadTrackObj(dz, trackAPI, settings, overwriteBitrate)
return after_download_single(result, settings)
def download_spotifytrack(dz, id, settings, overwriteBitrate=False):
track_id = get_trackid_spotify(dz, id, settings['fallbackSearch'])
if track_id == "Not Enabled":
print("Spotify Features is not setted up correctly.")
if track_id != 0:
return download_track(dz, track_id, settings, overwriteBitrate)
else:
print("Track not found on deezer!")
return None
def download_album(dz, id, settings, overwriteBitrate=False):
albumAPI = dz.get_album(id)
@ -590,6 +600,16 @@ def download_album(dz, id, settings, overwriteBitrate=False):
return after_download(playlist, settings)
def download_spotifyalbum(dz, id, settings, overwriteBitrate=False):
album_id = get_albumid_spotify(dz, id)
if album_id == "Not Enabled":
print("Spotify Features is not setted up correctly.")
if album_id != 0:
return download_album(dz, album_id, settings, overwriteBitrate)
else:
print("Album not found on deezer!")
return None
def download_artist(dz, id, settings, overwriteBitrate=False):
artistAPI = dz.get_artist_albums(id)
for album in artistAPI['data']:

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python3
from deemix.api.deezer import Deezer
from deemix.utils.misc import getIDFromLink, getTypeFromLink, getBitrateInt
from deemix.app.downloader import download_track, download_album, download_playlist, download_artist
from deemix.app.downloader import download_track, download_album, download_playlist, download_artist, download_spotifytrack, download_spotifyalbum
from os import system as execute
dz = Deezer()
@ -21,6 +21,10 @@ def downloadLink(url, settings, bitrate=None):
folder = download_playlist(dz, id, settings, forcedBitrate)
elif type == "artist":
download_artist(dz, id, settings, forcedBitrate)
elif type == "spotifytrack":
folder = download_spotifytrack(dz, id, settings, forcedBitrate)
elif type == "spotifyalbum":
folder = download_spotifyalbum(dz, id, settings, forcedBitrate)
else:
print("URL not supported yet")
return None