diff --git a/requirements.txt b/requirements.txt index 62d44ae..03203d3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,4 @@ opuslib==1.1.0 protobuf==3.1.0 flask youtube-dl +python-magic diff --git a/templates/index.html b/templates/index.html index ef8178d..06d92ed 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1,6 +1,6 @@ -{% macro dirlisting(path='') -%} +{% macro dirlisting(dir, path='') -%} {%- endmacro %} @@ -101,7 +94,7 @@
- {{ dirlisting() }} + {{ dirlisting(music_library) }} diff --git a/util.py b/util.py index e2868c6..12a214b 100644 --- a/util.py +++ b/util.py @@ -2,6 +2,7 @@ import configparser import hashlib +import magic import os import variables as var import zipfile @@ -20,7 +21,11 @@ def get_recursive_filelist_sorted(path): for file in files: if file in __CONFIG.get('bot', 'ignored_files'): continue - filelist.append(relroot + file) + + 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.sort() return filelist @@ -84,6 +89,7 @@ class Dir(object): if subdir in self.subdirs: searchpath = '/'.join(path.split('/')[1::]) subdirs = self.subdirs[subdir].get_subdirs(searchpath) + subdirs = list(map(lambda subsubdir: os.path.join(subdir, subsubdir), subdirs)) else: subdirs = self.subdirs