Merge pull request #4 from BafDyce/directory-listing-fixes

Directory listing fixes
This commit is contained in:
Fabian Würfl 2018-05-21 12:49:32 +02:00 committed by GitHub
commit 1ef1207d80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 28 deletions

View File

@ -2,3 +2,4 @@ opuslib==1.1.0
protobuf==3.1.0 protobuf==3.1.0
flask flask
youtube-dl youtube-dl
python-magic

View File

@ -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 }}/&nbsp;</span> <span>{{ subdirname }}/&nbsp;</span>
@ -17,14 +17,9 @@
<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 %} {% endfor %}
{%- for subdir in subdirs %} {%- set files = dir.get_files() %}
{{- dirlisting(subdirpath) -}}
{%- endfor %}
{%- endif %}
<ul>
{%- set files = music_library.get_files(subdirpath) %}
{%- if files %} {%- if files %}
{% for file in files %} {% for file in files %}
<li class="file"> <li class="file">
@ -41,8 +36,6 @@
{% endfor %} {% endfor %}
{%- endif %} {%- endif %}
</ul> </ul>
{% endfor %}
</ul>
{%- endmacro %} {%- endmacro %}
<!DOCTYPE html> <!DOCTYPE html>
@ -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>

View File

@ -2,6 +2,7 @@
import configparser import configparser
import hashlib import hashlib
import magic
import os import os
import variables as var import variables as var
import zipfile import zipfile
@ -20,6 +21,10 @@ def get_recursive_filelist_sorted(path):
for file in files: for file in files:
if file in __CONFIG.get('bot', 'ignored_files'): if file in __CONFIG.get('bot', 'ignored_files'):
continue continue
fullpath = os.path.join(path, relroot, file)
mime = magic.from_file(fullpath, mime=True)
if 'audio' in mime or 'audio' in magic.from_file(fullpath).lower() or 'video' in mime:
filelist.append(relroot + file) filelist.append(relroot + file)
filelist.sort() filelist.sort()
@ -84,6 +89,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