Merge pull request #49 from fsteffek/fix-HTTP-500-on-playlist-delete

Fix #45: Error when deleting from playlist [wi]
This commit is contained in:
Fabian Würfl
2018-06-02 15:55:05 +02:00
committed by GitHub
2 changed files with 9 additions and 14 deletions

View File

@ -3,6 +3,7 @@
from flask import Flask, render_template, request, redirect, send_file from flask import Flask, render_template, request, redirect, send_file
import variables as var import variables as var
import util import util
from datetime import datetime
import os.path import os.path
from os import listdir from os import listdir
import random import random
@ -68,7 +69,7 @@ def index():
if request.method == 'POST': if request.method == 'POST':
print(request.form) print(request.form)
if 'add_file' in request.form and ".." not in request.form['add_file']: if 'add_file' in request.form and ".." not in request.form['add_file']:
item = ('file', request.form['add_file']) item = ('file', request.form['add_file'], datetime.now().timestamp())
var.playlist.append(item) var.playlist.append(item)
elif ('add_folder' in request.form and ".." not in request.form['add_folder']) or ('add_folder_recursively' in request.form and ".." not in request.form['add_folder_recursively']) : elif ('add_folder' in request.form and ".." not in request.form['add_folder']) or ('add_folder_recursively' in request.form and ".." not in request.form['add_folder_recursively']) :
@ -85,13 +86,7 @@ def index():
files = music_library.get_files_recursively(folder) files = music_library.get_files_recursively(folder)
else: else:
files = music_library.get_files(folder) files = music_library.get_files(folder)
files = list(map( files = list(map(lambda file: ('file', os.path.join(folder, file), datetime.now().timestamp()), files))
lambda file: (
'file',
os.path.join(folder, file)
),
files
))
print('Adding to playlist: ', files) print('Adding to playlist: ', files)
var.playlist.extend(files) var.playlist.extend(files)
@ -102,10 +97,10 @@ def index():
var.playlist.append(['radio', request.form['add_radio']]) var.playlist.append(['radio', request.form['add_radio']])
elif 'delete_music' in request.form: elif 'delete_music' in request.form:
try: for item in var.playlist:
var.playlist.remove(["file", request.form['delete_music']]) if str(item[2]) == request.form['delete_music']:
except ValueError: var.playlist.remove(item)
pass break
elif 'action' in request.form: elif 'action' in request.form:
action = request.form['action'] action = request.form['action']
if action == "randomize": if action == "randomize":

View File

@ -97,8 +97,8 @@
<ul> <ul>
{% for m in playlist %} {% for m in playlist %}
<li>{{ m[0] }} - {{ m[1] }} <li>{{ m[1] }}
<form method="post"><input type="text" value="{{ m }}" name="delete_music" hidden><input type="submit" value="X"></form> <form method="post"><input type="text" value="{{ m[2] }}" name="delete_music" hidden><input type="submit" value="X"></form>
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>