diff --git a/gallery/file_modules/__init__.py b/gallery/file_modules/__init__.py index 3ac7f11..39917ab 100644 --- a/gallery/file_modules/__init__.py +++ b/gallery/file_modules/__init__.py @@ -62,6 +62,8 @@ def generate_thumbnail(self): from gallery.file_modules.ogg import OggFile from gallery.file_modules.pdf import PDFFile from gallery.file_modules.txt import TXTFile +from gallery.file_modules.mp3 import MP3File +from gallery.file_modules.wav import WAVFile file_mimetype_relation = { "image/jpeg": JPEGFile, @@ -77,7 +79,9 @@ def generate_thumbnail(self): "video/webm": WebMFile, "video/ogg": OggFile, "application/pdf": PDFFile, - "text/plain": TXTFile + "text/plain": TXTFile, + "audio/mpeg": MP3File, + "audio/x-wav": WAVFile } diff --git a/gallery/file_modules/mp3.py b/gallery/file_modules/mp3.py new file mode 100644 index 0000000..6fb4c9b --- /dev/null +++ b/gallery/file_modules/mp3.py @@ -0,0 +1,18 @@ +import os +from wand.image import Image + +from gallery.file_modules import FileModule +from gallery.util import hash_file + +class MP3File(FileModule): + def __init__(self, file_path, dir_path): + FileModule.__init__(self, file_path, dir_path) + self.mime_type = "audio/mpeg" + + self.generate_thumbnail() + + def generate_thumbnail(self): + self.thumbnail_uuid = hash_file(self.file_path) + ".jpg" + + with Image(filename="thumbnails/reedphoto.jpg") as bg: + bg.save(filename=os.path.join(self.dir_path, self.thumbnail_uuid)) diff --git a/gallery/file_modules/wav.py b/gallery/file_modules/wav.py new file mode 100644 index 0000000..71d251f --- /dev/null +++ b/gallery/file_modules/wav.py @@ -0,0 +1,18 @@ +import os +from wand.image import Image + +from gallery.file_modules import FileModule +from gallery.util import hash_file + +class WAVFile(FileModule): + def __init__(self, file_path, dir_path): + FileModule.__init__(self, file_path, dir_path) + self.mime_type = "audio/x-wav" + + self.generate_thumbnail() + + def generate_thumbnail(self): + self.thumbnail_uuid = hash_file(self.file_path) + ".jpg" + + with Image(filename="thumbnails/reedphoto.jpg") as bg: + bg.save(filename=os.path.join(self.dir_path, self.thumbnail_uuid)) diff --git a/gallery/templates/view_file.html b/gallery/templates/view_file.html index 0864e77..828a794 100644 --- a/gallery/templates/view_file.html +++ b/gallery/templates/view_file.html @@ -64,6 +64,12 @@ {% elif file.mimetype == "application/pdf" or file.mimetype == "text/plain" %} + + {% elif file.mimetype.split('/')[0] == "audio" %} + + {% else %} Text Data {% endif %}