diff --git a/app.py b/app.py index a82522f..54b159f 100644 --- a/app.py +++ b/app.py @@ -1,43 +1,18 @@ -from flask import Flask, request, redirect, url_for, send_file, render_template, send_from_directory +from flask import Flask, request, redirect, url_for, send_file, render_template, send_from_directory, jsonify from subprocess import run from datetime import datetime -import os, logging, json +import os, logging, json, secrets app = Flask(__name__) +app.secret_key = secrets.token_hex(16) -#Page d'identification en cours de développement -# with open("identifiants.json") as f: -# identifiants = json.load(f) - -def process_file(urls): +@app.route('/', methods=['GET', 'POST']) +def download_file(): + session_id = secrets.token_hex(16) download_param_album = '{artist}/{album}/{artist} - {title}' download_param_playlist = '{playlist}/{artists}/{album} - {title} {artist}' - # Créer le dossier 'downloads' s'il n'existe pas - if not os.path.exists('downloads'): - os.makedirs('downloads') - - os.chdir('downloads') - os.system(f'rm -rf *') - - for url in urls: - if url: - if "album" in url: - run(['python3', '-m', 'spotdl', url, '--output', download_param_album]) - elif "playlist" in url: - run(['python3', '-m', 'spotdl', url, '--output', download_param_playlist]) - - run(['zip', '-r', 'musics.zip', '.']) - os.chdir('../') - -@app.route('/', methods=['GET', 'POST']) -def upload_form(): - return render_template('index.html') - -@app.route('/download', methods=['POST']) -def download_file(): - - if request.method == 'POST': + if request.method == 'POST': url1 = request.form['url1'] url2 = request.form['url2'] url3 = request.form['url3'] @@ -50,9 +25,27 @@ def download_file(): urls = [url1, url2, url3, url4, url5] - process_file(urls) - PATH = "downloads/musics.zip" - return send_file(PATH, as_attachment=True) + # Créer le dossier 'downloads' s'il n'existe pas + if not os.path.exists('downloads'): + os.makedirs('downloads') + + os.chdir('downloads') + os.system(f'rm -rf *') + + for url in urls: + if url: + if "album" in url: + run(['python3', '-m', 'spotdl', url, '--output', download_param_album]) + elif "playlist" in url: + run(['python3', '-m', 'spotdl', url, '--output', download_param_playlist]) + + run(['zip', '-r', 'musics.zip', '.']) + os.chdir('../') + + PATH = "downloads/musics.zip" + return send_file(PATH, as_attachment=True) + + return render_template('index.html') @app.errorhandler(404) def page_not_found(error): diff --git a/static/js/script.js b/static/js/script.js index fae7eb9..c2d5ff0 100644 --- a/static/js/script.js +++ b/static/js/script.js @@ -1,6 +1,6 @@ function startDownload() { - document.getElementById('download-button').innerHTML = 'Téléchargement en cours...'; + document.getElementById('download-button').innerHTML = 'Téléchargement en cours...'; } - function refreshPage() { - window.location.reload(); +function refreshPage() { + window.location.reload(); } \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 8898104..0c1ce83 100644 --- a/templates/index.html +++ b/templates/index.html @@ -15,7 +15,7 @@

-
+