web interface add delete file function, debug
This commit is contained in:
		
							
								
								
									
										14
									
								
								interface.py
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								interface.py
									
									
									
									
									
								
							@@ -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":
 | 
			
		||||
 
 | 
			
		||||
@@ -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:
 | 
			
		||||
 
 | 
			
		||||
@@ -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> 
 | 
			
		||||
        <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 %}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user