127 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% macro dirlisting(dir, path='') -%}
 | 
						|
    <ul>
 | 
						|
    {% for subdirname, subdirobj in dir.get_subdirs().items() %}
 | 
						|
        {%- set subdirpath = os.path.relpath(subdirobj.fullpath, music_library.fullpath) %}
 | 
						|
        <li class="directory">
 | 
						|
            <span>{{ subdirname }}/ </span>
 | 
						|
            <form method="post" class="directory form1">
 | 
						|
                <input type="text" value="{{ subdirpath }}" name="add_folder" hidden>
 | 
						|
                <input type="submit" value="Add all tracks from this folder">
 | 
						|
            </form>
 | 
						|
            <form method="post" class="directory form2">
 | 
						|
                <input type="text" value="{{ subdirpath }}" name="add_folder_recursively" hidden>
 | 
						|
                <input type="submit" value="Add all tracks from this folder (recursively)">
 | 
						|
            </form>
 | 
						|
            <form action="./download" method="get" class="directory form3">
 | 
						|
                <input type="text" value="{{ subdirpath }}" name="directory" hidden>
 | 
						|
                <input type="submit" value="Download entire directory">
 | 
						|
            </form>
 | 
						|
        </li>
 | 
						|
        {{- dirlisting(subdirobj, subdirpath) -}}
 | 
						|
    {% endfor %}
 | 
						|
    {%- set files = dir.get_files() %}
 | 
						|
    {%- if files %}
 | 
						|
        {% for file in files %}
 | 
						|
        {% set filepath = os.path.relpath(os.path.join(dir.fullpath, file), music_library.fullpath) %}
 | 
						|
        <li class="file">
 | 
						|
            <form method="post" class="file file_add">
 | 
						|
                <input type="text" value="{{ filepath }}" name="add_file" hidden>
 | 
						|
                <input type="submit" value="Add">
 | 
						|
            </form>
 | 
						|
            <form action="./download" method="get"  class="file file_download">
 | 
						|
                <input type="text" value="{{ filepath }}" name="file" hidden>
 | 
						|
                <input type="submit" value="Download">
 | 
						|
                 {{ file }}
 | 
						|
            </form>
 | 
						|
        </li>
 | 
						|
        {% endfor %}
 | 
						|
    {%- endif %}
 | 
						|
    </ul>
 | 
						|
{%- endmacro %}
 | 
						|
 | 
						|
<!DOCTYPE html>
 | 
						|
<head>
 | 
						|
    <meta charset="UTF-8">
 | 
						|
    <title></title>
 | 
						|
    <link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
 | 
						|
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
 | 
						|
    <META HTTP-EQUIV="Expires" CONTENT="-1">
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
<a href="."><h5>Refresh</h5></a>
 | 
						|
<br>
 | 
						|
 | 
						|
<div id="upload">
 | 
						|
    <form action="./upload" method="post" enctype="multipart/form-data">
 | 
						|
        <input type="file" name="file" value="Browse Music file"/>
 | 
						|
        Upload into
 | 
						|
        <input list="targetdirs" id="targetdir" name="targetdir" placeholder="uploads" />
 | 
						|
        <datalist id="targetdirs">
 | 
						|
            <option value="uploads">
 | 
						|
            {% for dir in music_library.get_subdirs_recursively() %}
 | 
						|
            <option value="{{ dir }}">
 | 
						|
            {% endfor %}
 | 
						|
        </datalist>
 | 
						|
        <input type="submit" value="Upload"/>
 | 
						|
    </form>
 | 
						|
</div>
 | 
						|
 | 
						|
<div id="url">
 | 
						|
    Add Youtube/Soundcloud URL :
 | 
						|
    <form method="post">
 | 
						|
        <input type=text name="add_url">
 | 
						|
        <input type="submit" value="Add URL">
 | 
						|
    </form>
 | 
						|
</div>
 | 
						|
<div id="radio">
 | 
						|
    Add Radio URL :
 | 
						|
    <form method="post">
 | 
						|
        <input type=text name="add_radio">
 | 
						|
        <input type="submit" value="Add Radio">
 | 
						|
    </form>
 | 
						|
</div>
 | 
						|
 | 
						|
<div id="playlist">
 | 
						|
    Currently Playing :
 | 
						|
    {% if playlist|length > 0 %}
 | 
						|
    {{ playlist[0]['title'] }} {{ playlist[0]['user'] }}
 | 
						|
    {% if 'url' in playlist[0]  %}
 | 
						|
        (<a href="{{ playlist[0]['url'] }}">{{ playlist[0]['url'] }}</a>)
 | 
						|
    {% endif %}
 | 
						|
    {% else %}
 | 
						|
    No music
 | 
						|
    {% endif %}
 | 
						|
    <br />
 | 
						|
    Playlist :
 | 
						|
    <form method="post"><input type="text" value="randomize" name="action" hidden><input type="submit" value="Randomize playlist"></form>
 | 
						|
 | 
						|
    <ul>
 | 
						|
        {% for m in playlist[1:] %}
 | 
						|
        <li>[{{ m['type'] }}]] {{ m['title'] }} -  {{ m['url'] }}
 | 
						|
            <form method="post"><input type="text" value="{{ loop.index }}" name="delete_music" hidden><input type="submit" value="X"></form>
 | 
						|
        </li>
 | 
						|
        {% endfor %}
 | 
						|
    </ul>
 | 
						|
    <h2>Music library:</h2>
 | 
						|
    <form action="./download" method="get" class="directory form1">
 | 
						|
        <input type="text" value="./" name="directory" hidden>
 | 
						|
        <input type="submit" value="Download entire music library">
 | 
						|
    </form>
 | 
						|
    <form method="post" class="directory form3">
 | 
						|
        <input type="text" value="./" name="add_folder_recursively" hidden>
 | 
						|
        <input type="submit" value="Add all tracks from music library (recursively)">
 | 
						|
    </form>
 | 
						|
    <br />
 | 
						|
    {{ dirlisting(music_library) }}
 | 
						|
 | 
						|
 | 
						|
</div>
 | 
						|
<div id="browser">
 | 
						|
 | 
						|
</div>
 | 
						|
<div id="upload">
 | 
						|
 | 
						|
</div>
 | 
						|
</body>
 | 
						|
</html>
 |