web interface add delete file function, debug

This commit is contained in:
Terry Geng
2020-02-05 10:14:56 +08:00
parent a4128e1dc9
commit c25fad8be0
3 changed files with 37 additions and 6 deletions

View File

@ -5,12 +5,15 @@ from flask import Flask, render_template, request, redirect, send_file, Response
import variables as var
import util
from datetime import datetime
import os
import os.path
import shutil
import random
from werkzeug.utils import secure_filename
import errno
import media
import logging
import time
class ReverseProxied(object):
@ -163,6 +166,17 @@ def index():
var.botamusique.pause()
var.botamusique.launch_music(int(request.form['play_music']))
elif 'delete_music_file' in request.form and ".." not in request.form['delete_music_file']:
path = var.config.get('bot', 'music_folder') + request.form['delete_music_file']
logging.info("web interface delete file " + path)
os.remove(path)
elif 'delete_folder' in request.form and ".." not in request.form['delete_folder']:
path = var.config.get('bot', 'music_folder') + request.form['delete_folder']
logging.info("web interface delete folder " + path)
shutil.rmtree(path)
time.sleep(0.1)
elif 'action' in request.form:
action = request.form['action']
if action == "randomize":

View File

@ -608,6 +608,9 @@ class MumbleBot:
def launch_music(self, index=-1):
uri = ""
music = None
if var.playlist.length() == 0:
return
if index == -1:
music = var.playlist.current_item()
else:

View File

@ -25,15 +25,22 @@
</div>
</div>
<form action="./download" method="get" class="directory">
<input type="text" value="{{ subdirpath }}" name="directory" hidden>
<button type="submit" class="btn btn-primary btn-sm btn-space"><i class="fa fa-download" aria-hidden="true"></i></button>
</form>
</div>
<a data-toggle="collapse"
data-target="#multiCollapse-{{ subdirid }}" aria-expanded="true"
aria-controls="multiCollapse-{{ subdirid }}" href="#"><i class="fa fa-folder" aria-hidden="true"></i> <small>{{ subdirpath }}/</small></a>
<div class="btn-group" style="float: right;">
<form action="./download" method="get" class="directory">
<input type="text" value="{{ subdirpath }}" name="directory" hidden>
<button type="submit" class="btn btn-primary btn-sm btn-space"><i class="fa fa-download" aria-hidden="true"></i></button>
</form>
<form method="post">
<input type="text" value="{{ subdirpath }}" name="delete_folder" hidden>
<button type="submit" class="btn btn-danger btn-sm btn-space"><i class="fas fa-trash-alt"></i></button>
</form>
</div>
</li>
<div class="collapse multi-collapse" id="multiCollapse-{{ subdirid }}">
{{- dirlisting(subdirobj, subdirpath) -}}
@ -65,12 +72,19 @@
</div>
</div>
</div>
<small><i class="fa fa-music" aria-hidden="true"></i> {{ filepath }}</small>
<div class="btn-group" style="float: right;">
<form action="./download" method="get" class="file file_download">
<input type="text" value="{{ filepath }}" name="file" hidden>
<button type="submit" class="btn btn-primary btn-sm btn-space"><i class="fa fa-download" aria-hidden="true"></i></button>
</form>
</div>&nbsp;
<small><i class="fa fa-music" aria-hidden="true"></i> {{ filepath }}</small>
<form method="post">
<input type="text" value="{{ filepath }}" name="delete_music_file" hidden>
<button type="submit" class="btn btn-danger btn-sm btn-space"><i class="fas fa-trash-alt"></i></button>
</form>
</div>
</li>
{% endfor %}
{%- endif %}