Modifications

This commit is contained in:
Gu1llaum-3 2023-01-22 14:11:31 +01:00
parent fab1815e7f
commit 433e219e62
3 changed files with 32 additions and 39 deletions

63
app.py
View File

@ -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):

View File

@ -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();
}

View File

@ -15,7 +15,7 @@
</ul>
</p>
</div>
<form action="/download" method="POST">
<form action="/" method="POST">
<div class="form-group">
<input type="text" class="form-control" name="url1" id="url1" pattern="^https://open\.spotify\.com/(?:album|playlist)/[\w-]+(?:\?si=[\w-]+)?$" placeholder="Entrez l'URL d'un Album ou d'une Playlist">
</div>