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 variables as var
import util import util
from datetime import datetime from datetime import datetime
import os
import os.path import os.path
import shutil
import random import random
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
import errno import errno
import media import media
import logging import logging
import time
class ReverseProxied(object): class ReverseProxied(object):
@ -163,6 +166,17 @@ def index():
var.botamusique.pause() var.botamusique.pause()
var.botamusique.launch_music(int(request.form['play_music'])) 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: elif 'action' in request.form:
action = request.form['action'] action = request.form['action']
if action == "randomize": if action == "randomize":

View File

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

View File

@ -25,15 +25,22 @@
</div> </div>
</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> </div>
<a data-toggle="collapse" <a data-toggle="collapse"
data-target="#multiCollapse-{{ subdirid }}" aria-expanded="true" 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> 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> </li>
<div class="collapse multi-collapse" id="multiCollapse-{{ subdirid }}"> <div class="collapse multi-collapse" id="multiCollapse-{{ subdirid }}">
{{- dirlisting(subdirobj, subdirpath) -}} {{- dirlisting(subdirobj, subdirpath) -}}
@ -65,12 +72,19 @@
</div> </div>
</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"> <form action="./download" method="get" class="file file_download">
<input type="text" value="{{ filepath }}" name="file" hidden> <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> <button type="submit" class="btn btn-primary btn-sm btn-space"><i class="fa fa-download" aria-hidden="true"></i></button>
</form> </form>
</div>&nbsp; <form method="post">
<small><i class="fa fa-music" aria-hidden="true"></i> {{ filepath }}</small> <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> </li>
{% endfor %} {% endfor %}
{%- endif %} {%- endif %}