POST on same page when removing from playlist, so url doesn't change

This commit is contained in:
James Taylor 2018-07-24 04:30:51 -07:00
parent 6e6a38cd73
commit 74c9647072
2 changed files with 13 additions and 11 deletions

View File

@ -53,24 +53,26 @@ def youtube(env, start_response):
return b'404 Not Found' return b'404 Not Found'
elif method == "POST": elif method == "POST":
fields = urllib.parse.parse_qs(env['wsgi.input'].read().decode())
if path == "/edit_playlist": if path == "/edit_playlist":
fields = urllib.parse.parse_qs(env['wsgi.input'].read().decode())
if fields['action'][0] == 'add': if fields['action'][0] == 'add':
local_playlist.add_to_playlist(fields['playlist_name'][0], fields['video_info_list']) local_playlist.add_to_playlist(fields['playlist_name'][0], fields['video_info_list'])
start_response('204 No Content', ()) start_response('204 No Content', ())
elif fields['action'][0] == 'remove':
try:
playlist_name = fields['playlist_page'][0]
except KeyError:
playlist_name = fields['playlist_name'][0]
local_playlist.remove_from_playlist(playlist_name, fields['video_info_list'])
start_response('200 OK', ())
return local_playlist.get_playlist_page(playlist_name).encode()
else: else:
start_response('400 Bad Request', ()) start_response('400 Bad Request', ())
return b'400 Bad Request' return b'400 Bad Request'
elif path.startswith("/playlists"):
if fields['action'][0] == 'remove':
playlist_name = path[11:]
local_playlist.remove_from_playlist(playlist_name, fields['video_info_list'])
start_response('200 OK', ())
return local_playlist.get_playlist_page(playlist_name).encode()
start_response('200 OK', (('Content-type','text/html'),) )
return local_playlist.get_playlist_page(path[10:], query_string=query_string).encode()
else:
start_response('400 Bad Request', ())
return b'400 Bad Request'
else: else:
start_response('404 Not Found', ()) start_response('404 Not Found', ())
return b'404 Not Found' return b'404 Not Found'

View File

@ -63,7 +63,7 @@ $header
<div id="left"> <div id="left">
<h2 class="playlist-title">$title</h2> <h2 class="playlist-title">$title</h2>
<input type="hidden" name="playlist_page" value="$title" form="playlist-edit"> <input type="hidden" name="playlist_page" value="$title" form="playlist-edit">
<button type="submit" id="playlist-remove-button" name="action" value="remove" form="playlist-edit">Remove from playlist</button> <button type="submit" id="playlist-remove-button" name="action" value="remove" form="playlist-edit" formaction="">Remove from playlist</button>
<div id="results"> <div id="results">
$videos $videos
</div> </div>