diff --git a/deemix/__main__.py b/deemix/__main__.py index 33a4d32..cd8d011 100644 --- a/deemix/__main__.py +++ b/deemix/__main__.py @@ -8,6 +8,7 @@ from deemix.app.settings import initSettings @click.argument('url') def download(bitrate, url): settings = initSettings() + app.login() app.downloadLink(url, settings, bitrate) click.echo("All done!") diff --git a/deemix/app/main.py b/deemix/app/main.py index f9320e6..78d22e9 100644 --- a/deemix/app/main.py +++ b/deemix/app/main.py @@ -1,11 +1,36 @@ #!/usr/bin/env python3 from deemix.api.deezer import Deezer +import deemix.utils.localpaths as localpaths from deemix.utils.misc import getIDFromLink, getTypeFromLink, getBitrateInt from deemix.app.downloader import download_track, download_album, download_playlist, download_artist, download_spotifytrack, download_spotifyalbum from os import system as execute +import os.path as path +from os import mkdir, rmdir dz = Deezer() +def requestValidArl(): + while True: + arl = input("Paste here your arl:") + if dz.login_via_arl(arl): + break + return arl + +def login(): + configFolder = localpaths.getConfigFolder() + if not path.isdir(configFolder): + mkdir(configFolder) + if path.isfile(path.join(configFolder, '.arl')): + with open(path.join(configFolder, '.arl'), 'r') as f: + arl = f.read() + if not dz.login_via_arl(arl): + arl = requestValidArl() + else: + arl = requestValidArl() + with open(path.join(configFolder, '.arl'), 'w') as f: + f.write(arl) + + def downloadLink(url, settings, bitrate=None): forcedBitrate = getBitrateInt(bitrate) type = getTypeFromLink(url)