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

49
app.py
View File

@ -1,18 +1,30 @@
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 subprocess import run
from datetime import datetime from datetime import datetime
import os, logging, json import os, logging, json, secrets
app = Flask(__name__) app = Flask(__name__)
app.secret_key = secrets.token_hex(16)
#Page d'identification en cours de développement @app.route('/', methods=['GET', 'POST'])
# with open("identifiants.json") as f: def download_file():
# identifiants = json.load(f) session_id = secrets.token_hex(16)
def process_file(urls):
download_param_album = '{artist}/{album}/{artist} - {title}' download_param_album = '{artist}/{album}/{artist} - {title}'
download_param_playlist = '{playlist}/{artists}/{album} - {title} {artist}' download_param_playlist = '{playlist}/{artists}/{album} - {title} {artist}'
if request.method == 'POST':
url1 = request.form['url1']
url2 = request.form['url2']
url3 = request.form['url3']
url4 = request.form['url4']
url5 = request.form['url5']
# Vérifier si au moins un champ est vide
if not url1 and not url2 and not url3 and not url4 and not url5:
return render_template('erreur.html')
urls = [url1, url2, url3, url4, url5]
# Créer le dossier 'downloads' s'il n'existe pas # Créer le dossier 'downloads' s'il n'existe pas
if not os.path.exists('downloads'): if not os.path.exists('downloads'):
os.makedirs('downloads') os.makedirs('downloads')
@ -30,30 +42,11 @@ def process_file(urls):
run(['zip', '-r', 'musics.zip', '.']) run(['zip', '-r', 'musics.zip', '.'])
os.chdir('../') 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':
url1 = request.form['url1']
url2 = request.form['url2']
url3 = request.form['url3']
url4 = request.form['url4']
url5 = request.form['url5']
# Vérifier si au moins un champ est vide
if not url1 and not url2 and not url3 and not url4 and not url5:
return render_template('erreur.html')
urls = [url1, url2, url3, url4, url5]
process_file(urls)
PATH = "downloads/musics.zip" PATH = "downloads/musics.zip"
return send_file(PATH, as_attachment=True) return send_file(PATH, as_attachment=True)
return render_template('index.html')
@app.errorhandler(404) @app.errorhandler(404)
def page_not_found(error): def page_not_found(error):
return render_template('404.html'), 404 return render_template('404.html'), 404

View File

@ -15,7 +15,7 @@
</ul> </ul>
</p> </p>
</div> </div>
<form action="/download" method="POST"> <form action="/" method="POST">
<div class="form-group"> <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"> <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> </div>