web interface beautify, add file path check

This commit is contained in:
Terry Geng 2020-02-05 10:34:33 +08:00
parent c25fad8be0
commit 011c0a8567
2 changed files with 36 additions and 28 deletions

View File

@ -102,21 +102,25 @@ def index():
if request.method == 'POST': if request.method == 'POST':
logging.debug("Post request: "+ str(request.form)) logging.debug("Post request: "+ str(request.form))
if 'add_file_bottom' in request.form and ".." not in request.form['add_file_bottom']: if 'add_file_bottom' in request.form and ".." not in request.form['add_file_bottom']:
item = {'type': 'file', path = var.config.get('bot', 'music_folder') + request.form['add_file_bottom']
'path' : request.form['add_file_bottom'], if os.path.isfile(path):
'title' : 'Unknown', item = {'type': 'file',
'user' : 'Web'} 'path' : request.form['add_file_bottom'],
var.playlist.append(var.botamusique.get_music_tag_info(item, var.config.get('bot', 'music_folder') + item['path'])) 'title' : 'Unknown',
'user' : 'Web'}
var.playlist.append(var.botamusique.get_music_tag_info(item, path))
elif 'add_file_next' in request.form and ".." not in request.form['add_file_next']: elif 'add_file_next' in request.form and ".." not in request.form['add_file_next']:
item = {'type': 'file', path = var.config.get('bot', 'music_folder') + request.form['add_file_next']
'path' : request.form['add_file_next'], if os.path.isfile(path):
'title' : 'Unknown', item = {'type': 'file',
'user' : 'Web'} 'path' : request.form['add_file_next'],
var.playlist.insert( 'title' : 'Unknown',
var.playlist.current_index + 1, 'user' : 'Web'}
var.botamusique.get_music_tag_info(item, var.config.get('bot', 'music_folder') + item['path']) var.playlist.insert(
) var.playlist.current_index + 1,
var.botamusique.get_music_tag_info(item, var.config.get('bot', 'music_folder') + item['path'])
)
elif ('add_folder' in request.form and ".." not in request.form['add_folder']) or ('add_folder_recursively' in request.form and ".." not in request.form['add_folder_recursively']): elif ('add_folder' in request.form and ".." not in request.form['add_folder']) or ('add_folder_recursively' in request.form and ".." not in request.form['add_folder_recursively']):
try: try:
@ -128,15 +132,17 @@ def index():
folder += '/' folder += '/'
print('folder:', folder) print('folder:', folder)
if 'add_folder_recursively' in request.form:
files = music_library.get_files_recursively(folder)
else:
files = music_library.get_files(folder)
files = list(map(lambda file: var.botamusique.get_music_tag_info({'type':'file','path': os.path.join(folder, file), 'user':'Web'}, \ if os.path.isdir(var.config.get('bot', 'music_folder') + folder):
var.config.get('bot', 'music_folder') + os.path.join(folder, file)), files)) if 'add_folder_recursively' in request.form:
print('Adding to playlist: ', files) files = music_library.get_files_recursively(folder)
var.playlist.extend(files) else:
files = music_library.get_files(folder)
files = list(map(lambda file: var.botamusique.get_music_tag_info({'type':'file','path': os.path.join(folder, file), 'user':'Web'}, \
var.config.get('bot', 'music_folder') + os.path.join(folder, file)), files))
print('Adding to playlist: ', files)
var.playlist.extend(files)
elif 'add_url' in request.form: elif 'add_url' in request.form:
var.playlist.append({'type':'url', var.playlist.append({'type':'url',
@ -168,14 +174,16 @@ def index():
elif 'delete_music_file' in request.form and ".." not in request.form['delete_music_file']: 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'] path = var.config.get('bot', 'music_folder') + request.form['delete_music_file']
logging.info("web interface delete file " + path) if os.path.isfile(path):
os.remove(path) logging.info("web interface delete file " + path)
os.remove(path)
elif 'delete_folder' in request.form and ".." not in request.form['delete_folder']: elif 'delete_folder' in request.form and ".." not in request.form['delete_folder']:
path = var.config.get('bot', 'music_folder') + request.form['delete_folder'] path = var.config.get('bot', 'music_folder') + request.form['delete_folder']
logging.info("web interface delete folder " + path) if os.path.isdir(path):
shutil.rmtree(path) logging.info("web interface delete folder " + path)
time.sleep(0.1) 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']

View File

@ -73,7 +73,7 @@
</div> </div>
</div> </div>
<small><i class="fa fa-music" aria-hidden="true"></i> {{ filepath }}</small> <div class="btn-group lead"><div class="btn-space"><i class="fa fa-music" aria-hidden="true"></i></div> {{ filepath }}</div>
<div class="btn-group" style="float: right;"> <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">
@ -106,7 +106,7 @@
<div class="container"> <div class="container">
<div class="bs-docs-section"> <div class="bs-docs-section">
<div class="page-header" id="banner"> <div class="page-header" id="banner">
<h1>botamusique Web Interface</h1> <h1><i class="fa fa-music" aria-hidden="true"></i> botamusique Web Interface</h1>
</div> </div>
</div> </div>
<div class="bs-docs-section"> <div class="bs-docs-section">