def deezer_download_song_or_album(): """ downloads a song or an album from Deezer to the dir specified in settings.py para: type: album|track music_id: id of the album or track (int) add_to_playlist: True|False (add to mpd playlist) create_zip: True|False (create a zip for the album) """ user_input = request.get_json(force=True) desc = "Downloading song {}".format(user_input['type']) if user_input['type'] == "track": task = sched.enqueue_task( desc, "download_deezer_song_and_queue", track_id=user_input['music_id'], add_to_playlist=user_input['add_to_playlist']) else: task = sched.enqueue_task( desc, "download_deezer_album_and_queue_and_zip", album_id=user_input['music_id'], add_to_playlist=user_input['add_to_playlist'], create_zip=user_input['create_zip']) return jsonify({ "task_id": id(task), })
def youtubedl_download(): """ takes an url and tries to download it via youtuble-dl para: url: link to youtube (or something youtube-dl supports) add_to_playlist: True|False (add to mpd playlist) """ user_input = request.get_json(force=True) desc = "Downloading via youtube-dl" task = sched.enqueue_task(desc, "download_youtubedl_and_queue", video_url=user_input['url'], add_to_playlist=user_input['add_to_playlist']) return jsonify({"task_id": id(task), })
def deezer_playlist_download(): """ downloads songs of a public Deezer playlist. A directory with the name of the playlist will be created. para: playlist_url: link to a public Deezer playlist (the id of the playlist works too) add_to_playlist: True|False (add to mpd playlist) create_zip: True|False (create a zip for the playlist) """ user_input = request.get_json(force=True) desc = "Downloading Deezer playlist" task = sched.enqueue_task(desc, "download_deezer_playlist_and_queue_and_zip", playlist_id=user_input['playlist_url'], add_to_playlist=user_input['add_to_playlist'], create_zip=user_input['create_zip']) return jsonify({"task_id": id(task), })
def spotify_playlist_download(): """ 1. /GET and parse the Spotify playlist (html) 2. search every single song on Deezer. Use the first hit 3. download the song from Deezer para: playlist_name: name of the playlist (used for the subfolder) playlist_url: link to Spotify playlist or just the id of it add_to_playlist: True|False (add to mpd playlist) create_zip: True|False (create a zip for the playlist) """ user_input = request.get_json(force=True) desc = "Downloading Spotify playlist" task = sched.enqueue_task(desc, "download_spotify_playlist_and_queue_and_zip", playlist_name=user_input['playlist_name'], playlist_id=user_input['playlist_url'], add_to_playlist=user_input['add_to_playlist'], create_zip=user_input['create_zip']) return jsonify({"task_id": id(task), })
def deezer_favorites_download(): """ downloads favorite songs of a Deezer user (looks like this in the brwoser: https://www.deezer.com/us/profile/%%user_id%%/loved) a subdirecotry with the name of the user_id will be created. para: user_id: deezer user_id add_to_playlist: True|False (add to mpd playlist) create_zip: True|False (create a zip for the playlist) """ user_input = request.get_json(force=True) desc = "Downloading Deezer favorites" task = sched.enqueue_task(desc, "download_deezer_favorites", user_id=user_input['user_id'], add_to_playlist=user_input['add_to_playlist'], create_zip=user_input['create_zip']) return jsonify({ "task_id": id(task), })