aboutsummaryrefslogtreecommitdiffstats
path: root/youtube
diff options
context:
space:
mode:
Diffstat (limited to 'youtube')
-rw-r--r--youtube/local_playlist.py6
-rw-r--r--youtube/templates/local_playlist.html8
2 files changed, 14 insertions, 0 deletions
diff --git a/youtube/local_playlist.py b/youtube/local_playlist.py
index 40ff035..aa3ac27 100644
--- a/youtube/local_playlist.py
+++ b/youtube/local_playlist.py
@@ -153,6 +153,12 @@ def path_edit_playlist(playlist_name):
number_of_videos_remaining = remove_from_playlist(playlist_name, videos_to_remove)
redirect_page_number = min(int(request.values.get('page', 1)), math.ceil(number_of_videos_remaining/50))
return flask.redirect(util.URL_ORIGIN + request.path + '?page=' + str(redirect_page_number))
+ elif request.values['action'] == 'remove_playlist':
+ try:
+ os.remove(os.path.join(playlists_directory, playlist_name + ".txt"))
+ except OSError:
+ pass
+ return flask.redirect(util.URL_ORIGIN + '/playlists')
elif request.values['action'] == 'export':
videos = read_playlist(playlist_name)
fmt = request.values['export_format']
diff --git a/youtube/templates/local_playlist.html b/youtube/templates/local_playlist.html
index 64abcf4..d08aa48 100644
--- a/youtube/templates/local_playlist.html
+++ b/youtube/templates/local_playlist.html
@@ -22,7 +22,9 @@
</div>
</div>
+ <form id="playlist-remove" action="/youtube.com/edit_playlist" method="post" target="_self"></form>
<div class="playlist-metadata" id="video-remove-container">
+ <button id="removePlayList" type="submit" name="action" value="remove_playlist" form="playlist-remove" formaction="">Remove playlist</button>
<input type="hidden" name="playlist_page" value="{{ playlist_name }}" form="playlist-edit">
<button class="play-action" type="submit" id="playlist-remove-button" name="action" value="remove" form="playlist-edit" formaction="">Remove from playlist</button>
</div>
@@ -31,6 +33,12 @@
{{ common_elements.item(video_info) }}
{% endfor %}
</div>
+ <script>
+ const deletePlayList = document.getElementById('removePlayList');
+ deletePlayList.addEventListener('click', (event) => {
+ return confirm('You are about to permanently delete {{ playlist_name }}\n\nOnce a playlist is permanently deleted, it cannot be recovered.')
+ });
+ </script>
<footer class="pagination-container">
<nav class="pagination-list">
{{ common_elements.page_buttons(num_pages, '/https://www.youtube.com/playlists/' + playlist_name, parameters_dictionary) }}