From 433e219e626d006085b9b00f0f0fd1fe1336486c Mon Sep 17 00:00:00 2001
From: Gu1llaum-3
Date: Sun, 22 Jan 2023 14:11:31 +0100
Subject: [PATCH] Modifications
---
app.py | 63 ++++++++++++++++++++------------------------
static/js/script.js | 6 ++---
templates/index.html | 2 +-
3 files changed, 32 insertions(+), 39 deletions(-)
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 @@
-