From ee704db2ffa416c14965ba4bdba7d0842ca2e285 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Wed, 1 Jan 2020 17:34:42 +0100 Subject: [PATCH] Add support for wav files --- libmat2/audio.py | 13 ++++++++++++- tests/data/dirty.wav | Bin 0 -> 287584 bytes tests/test_libmat2.py | 10 ++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 tests/data/dirty.wav diff --git a/libmat2/audio.py b/libmat2/audio.py index 1fd58fc..5f0c765 100644 --- a/libmat2/audio.py +++ b/libmat2/audio.py @@ -6,7 +6,7 @@ from typing import Dict, Union import mutagen -from . import abstract, parser_factory +from . import abstract, parser_factory, video class MutagenParser(abstract.AbstractParser): @@ -77,3 +77,14 @@ class FLACParser(MutagenParser): meta[name] = p.get_meta() if p else 'harmful data' # type: ignore os.remove(fname) return meta + + +class WAVParser(video.AbstractFFmpegParser): + mimetypes = {'audio/x-wav', } + meta_allowlist = {'AvgBytesPerSec', 'BitsPerSample', 'Directory', + 'Duration', 'Encoding', 'ExifToolVersion', + 'FileAccessDate', 'FileInodeChangeDate', + 'FileModifyDate', 'FileName', 'FilePermissions', + 'FileSize', 'FileType', 'FileTypeExtension', + 'MIMEType', 'NumChannels', 'SampleRate', 'SourceFile', + } diff --git a/tests/data/dirty.wav b/tests/data/dirty.wav new file mode 100644 index 0000000000000000000000000000000000000000..cda715edc02467b088a2262b01baf9e49e4144d5 GIT binary patch literal 287584 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 G*#Cc}BK?>E literal 0 HcmV?d00001 diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py index 20e6a01..9d29094 100644 --- a/tests/test_libmat2.py +++ b/tests/test_libmat2.py @@ -127,6 +127,11 @@ class TestGetMeta(unittest.TestCase): self.assertEqual(meta['Model'], 'C7070WZ') self.assertEqual(meta['ModifyDate'], '2005:12:26 17:09:35') + def test_wav(self): + p = audio.WAVParser('./tests/data/dirty.wav') + meta = p.get_meta() + self.assertEqual(meta['Artist'], 'jvoisin') + def test_mp3(self): p = audio.MP3Parser('./tests/data/dirty.mp3') meta = p.get_meta() @@ -301,6 +306,11 @@ class TestCleaning(unittest.TestCase): 'parser': images.JPGParser, 'meta': {'Comment': 'Created with GIMP'}, 'expected_meta': {}, + }, { + 'name': 'wav', + 'parser': audio.WAVParser, + 'meta': {'Comment': 'Zomg, a comment!'}, + 'expected_meta': {}, }, { 'name': 'mp3', 'parser': audio.MP3Parser,