Diverses corrections sur app.py et ajout de la possibilité de télécharger des pistes en plus des albums et des playlists.
Modification du fichier index.html afin d'accepter les liens avec "track"
This commit is contained in:
parent
433e219e62
commit
1c47cf5f94
20
app.py
20
app.py
@ -1,16 +1,18 @@
|
||||
from flask import Flask, request, redirect, url_for, send_file, render_template, send_from_directory, jsonify
|
||||
from flask import Flask, request, send_file, render_template
|
||||
from subprocess import run
|
||||
from datetime import datetime
|
||||
import os, logging, json, secrets
|
||||
import os
|
||||
import secrets
|
||||
|
||||
app = Flask(__name__)
|
||||
app.secret_key = secrets.token_hex(16)
|
||||
|
||||
|
||||
@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}'
|
||||
download_param_track = '{artist}/{album}/{artist} - {title}'
|
||||
|
||||
if request.method == 'POST':
|
||||
url1 = request.form['url1']
|
||||
@ -38,18 +40,22 @@ def download_file():
|
||||
run(['python3', '-m', 'spotdl', url, '--output', download_param_album])
|
||||
elif "playlist" in url:
|
||||
run(['python3', '-m', 'spotdl', url, '--output', download_param_playlist])
|
||||
elif "track" in url:
|
||||
run(['python3', '-m', 'spotdl', url, '--output', download_param_track])
|
||||
|
||||
run(['zip', '-r', 'musics.zip', '.'])
|
||||
os.chdir('../')
|
||||
|
||||
PATH = "downloads/musics.zip"
|
||||
return send_file(PATH, as_attachment=True)
|
||||
path = "downloads/musics.zip"
|
||||
return send_file(path, as_attachment=True)
|
||||
|
||||
return render_template('index.html')
|
||||
|
||||
|
||||
@app.errorhandler(404)
|
||||
def page_not_found(error):
|
||||
def page_not_found():
|
||||
return render_template('404.html'), 404
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(debug=True, port=3000)
|
||||
app.run(debug=True, port=3000)
|
||||
|
@ -17,19 +17,19 @@
|
||||
</div>
|
||||
<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">
|
||||
<input type="text" class="form-control" name="url1" id="url1" pattern="^https://open\.spotify\.com/(?:album|playlist|track)/[\w-]+(?:\?si=[\w-]+)?$" placeholder="Entrez l'URL d'un Album ou d'une Playlist">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" name="url2" id="url2" 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="url2" id="url2" pattern="^https://open\.spotify\.com/(?:album|playlist|track)/[\w-]+(?:\?si=[\w-]+)?$" placeholder="Entrez l'URL d'un Album ou d'une Playlist">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" name="url3" id="url3" 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="url3" id="url3" pattern="^https://open\.spotify\.com/(?:album|playlist|track)/[\w-]+(?:\?si=[\w-]+)?$" placeholder="Entrez l'URL d'un Album ou d'une Playlist">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" name="url4" id="url4" 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="url4" id="url4" pattern="^https://open\.spotify\.com/(?:album|playlist|track)/[\w-]+(?:\?si=[\w-]+)?$" placeholder="Entrez l'URL d'un Album ou d'une Playlist">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" name="url5" id="url5" 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="url5" id="url5" pattern="^https://open\.spotify\.com/(?:album|playlist|track)/[\w-]+(?:\?si=[\w-]+)?$" placeholder="Entrez l'URL d'un Album ou d'une Playlist">
|
||||
</div>
|
||||
<button type="submit" class="btn" id="download-button" onclick="startDownload()">Télécharger</button>
|
||||
<button type="reset" class="btn" id="refresh-button" onclick="refreshPage()">Rafraîchir</button>
|
||||
|
Loading…
x
Reference in New Issue
Block a user