diff --git a/__pycache__/app.cpython-310.pyc b/__pycache__/app.cpython-310.pyc new file mode 100644 index 0000000..4ca34f0 Binary files /dev/null and b/__pycache__/app.cpython-310.pyc differ diff --git a/app.py b/app.py index f6d95d1..66d2d84 100644 --- a/app.py +++ b/app.py @@ -1,43 +1,90 @@ -from flask import Flask, request, redirect, url_for, send_file +from flask import Flask, request, redirect, url_for, send_file, render_template import os app = Flask(__name__) @app.route('/') def upload_form(): - return ''' -
- - - -
- ''' + return render_template('upload.html') @app.route('/', methods=['GET', 'POST']) def index(): message = None if request.method == 'POST': - url = request.form['url'] - result = process_file(url) - return ''' -

Téléchargement terminé

- - ''' + url1 = request.form['url1'] + url2 = request.form['url2'] + url3 = request.form['url3'] + url4 = request.form['url4'] + url5 = request.form['url5'] -def process_file(url): + # 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') + + result = process_file(url1, url2, url3, url4, url5) + return render_template('download_complete.html') + +def process_file(url1, url2, url3, url4, url5): path = os.path.expanduser('~/musics') download_param_album = '{artist}/{album}/{artist} - {title}' download_param_playlist = '{playlist}/{artists}/{album} - {title} {artist}' - if "album" in url: - #os.makedirs(f"{path}") - os.chdir(f"{path}") - print ("album found") - os.system(f'python3 -m spotdl {url} --output "{download_param_album}"') - elif "playlist" in url: - os.chdir(f"{path}") - print("playlist found") - os.system(f'python3 -m spotdl {url} --output "{download_param_playlist}"') + # Télécharger chaque URL s'il n'est pas vide + if url1: + if "album" in url1: + os.chdir(f"{path}") + os.system(f'python3 -m spotdl {url1} --output "{download_param_album}"') + elif "playlist" in url1: + os.chdir(f"{path}") + os.system(f'python3 -m spotdl {url1} --output "{download_param_playlist}"') + + if url2: + if "album" in url2: + os.chdir(f"{path}") + os.system(f'python3 -m spotdl {url2} --output "{download_param_album}"') + elif "playlist" in url2: + os.chdir(f"{path}") + os.system(f'python3 -m spotdl {url2} --output "{download_param_playlist}"') + + if url3: + if "album" in url3: + os.chdir(f"{path}") + os.system(f'python3 -m spotdl {url3} --output "{download_param_album}"') + elif "playlist" in url3: + os.chdir(f"{path}") + os.system(f'python3 -m spotdl {url3} --output "{download_param_playlist}"') + + if url4: + if "album" in url4: + os.chdir(f"{path}") + os.system(f'python3 -m spotdl {url4} --output "{download_param_album}"') + elif "playlist" in url4: + os.chdir(f"{path}") + os.system(f'python3 -m spotdl {url4} --output "{download_param_playlist}"') + + if url5: + if "album" in url5: + os.chdir(f"{path}") + os.system(f'python3 -m spotdl {url5} --output "{download_param_album}"') + elif "playlist" in url5: + os.chdir(f"{path}") + os.system(f'python3 -m spotdl {url5} --output "{download_param_playlist}"') + + +# def process_file(url): +# path = os.path.expanduser('~/musics') +# download_param_album = '{artist}/{album}/{artist} - {title}' +# download_param_playlist = '{playlist}/{artists}/{album} - {title} {artist}' + +# if "album" in url: +# #os.makedirs(f"{path}") +# os.chdir(f"{path}") +# print ("album found") +# os.system(f'python3 -m spotdl {url} --output "{download_param_album}"') +# elif "playlist" in url: +# os.chdir(f"{path}") +# print("playlist found") +# os.system(f'python3 -m spotdl {url} --output "{download_param_playlist}"') # @app.route('/download/') diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..4e8fcd1 --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,40 @@ + +body { + background-color: black; +} + +h1 { + /* border: 2px #eee solid; */ + color: rgb(24,216,96); + background-color: black; + text-align: center; + padding: 10px; +} + +h2 { + text-align: center; + margin: auto; + padding: 10px; + color: white; +} + +.url { + display: flex; + justify-content: center; + align-items: center; + /* min-height:100%; */ + background-color: black; + color: white +} + + +input[type="submit"] { + display: block; + margin: auto; +} + +button { + display: block; + margin: 10px auto; + } + diff --git a/templates/download_complete.html b/templates/download_complete.html new file mode 100644 index 0000000..8641e78 --- /dev/null +++ b/templates/download_complete.html @@ -0,0 +1,10 @@ + + + + SpotDL Web + + +

SpotDL Web

+

Téléchargement Terminé

+ + diff --git a/templates/erreur.html b/templates/erreur.html new file mode 100644 index 0000000..f1ac2d1 --- /dev/null +++ b/templates/erreur.html @@ -0,0 +1,13 @@ + + + + SpotDL Web + + +

SpotDL Web

+

Veuillez entrer au moins une URL !

+ + +{% if message %} +

{{ message }}

+{% endif %} \ No newline at end of file diff --git a/templates/index.html b/templates/index.html deleted file mode 100644 index 117a177..0000000 --- a/templates/index.html +++ /dev/null @@ -1,9 +0,0 @@ -
- - - -
- -{% if message %} -

{{ message }}

-{% endif %} diff --git a/templates/upload.html b/templates/upload.html new file mode 100644 index 0000000..307753a --- /dev/null +++ b/templates/upload.html @@ -0,0 +1,45 @@ + + + + SpotDL Web + + +

SpotDL Web

+
+
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ +
+
+ +