[Web Interface] Fix directory listing
- fixes not displaying files of top level directory - fixes duplicate sub-directory listings
This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
{% macro dirlisting(path='') -%}
|
{% macro dirlisting(dir, path='') -%}
|
||||||
<ul>
|
<ul>
|
||||||
{% for subdirname in music_library.get_subdirs(path) %}
|
{% for subdirname, subdirobj in dir.get_subdirs().items() %}
|
||||||
{%- set subdirpath = path + subdirname + '/' %}
|
{%- set subdirpath = path + subdirname + '/' %}
|
||||||
<li class="directory">
|
<li class="directory">
|
||||||
<span>{{ subdirname }}/ </span>
|
<span>{{ subdirname }}/ </span>
|
||||||
@ -17,31 +17,24 @@
|
|||||||
<input type="submit" value="Download entire directory">
|
<input type="submit" value="Download entire directory">
|
||||||
</form>
|
</form>
|
||||||
</li>
|
</li>
|
||||||
{%- set subdirs = music_library.get_subdirs(subdirpath) %}
|
{{- dirlisting(subdirobj, subdirpath) -}}
|
||||||
{%- if subdirs %}
|
|
||||||
{%- for subdir in subdirs %}
|
|
||||||
{{- dirlisting(subdirpath) -}}
|
|
||||||
{%- endfor %}
|
|
||||||
{%- endif %}
|
|
||||||
<ul>
|
|
||||||
{%- set files = music_library.get_files(subdirpath) %}
|
|
||||||
{%- if files %}
|
|
||||||
{% for file in files %}
|
|
||||||
<li class="file">
|
|
||||||
<form method="post" class="file file_add">
|
|
||||||
<input type="text" value="{{ subdirpath }}{{ file }}" name="add_file" hidden>
|
|
||||||
<input type="submit" value="Add">
|
|
||||||
</form>
|
|
||||||
<form action="./download" method="get" class="file file_download">
|
|
||||||
<input type="text" value="{{ subdirpath }}{{ file }}" name="file" hidden>
|
|
||||||
<input type="submit" value="Download">
|
|
||||||
{{ file }}
|
|
||||||
</form>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
{%- endif %}
|
|
||||||
</ul>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
{%- set files = dir.get_files() %}
|
||||||
|
{%- if files %}
|
||||||
|
{% for file in files %}
|
||||||
|
<li class="file">
|
||||||
|
<form method="post" class="file file_add">
|
||||||
|
<input type="text" value="{{ subdirpath }}{{ file }}" name="add_file" hidden>
|
||||||
|
<input type="submit" value="Add">
|
||||||
|
</form>
|
||||||
|
<form action="./download" method="get" class="file file_download">
|
||||||
|
<input type="text" value="{{ subdirpath }}{{ file }}" name="file" hidden>
|
||||||
|
<input type="submit" value="Download">
|
||||||
|
{{ file }}
|
||||||
|
</form>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
{%- endif %}
|
||||||
</ul>
|
</ul>
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
@ -101,7 +94,7 @@
|
|||||||
<input type="submit" value="Download entire music library">
|
<input type="submit" value="Download entire music library">
|
||||||
</form>
|
</form>
|
||||||
<br />
|
<br />
|
||||||
{{ dirlisting() }}
|
{{ dirlisting(music_library) }}
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
1
util.py
1
util.py
@ -84,6 +84,7 @@ class Dir(object):
|
|||||||
if subdir in self.subdirs:
|
if subdir in self.subdirs:
|
||||||
searchpath = '/'.join(path.split('/')[1::])
|
searchpath = '/'.join(path.split('/')[1::])
|
||||||
subdirs = self.subdirs[subdir].get_subdirs(searchpath)
|
subdirs = self.subdirs[subdir].get_subdirs(searchpath)
|
||||||
|
subdirs = list(map(lambda subsubdir: os.path.join(subdir, subsubdir), subdirs))
|
||||||
else:
|
else:
|
||||||
subdirs = self.subdirs
|
subdirs = self.subdirs
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user