diff --git a/python_apps/airtime_analyzer/airtime_analyzer/metadata_analyzer.py b/python_apps/airtime_analyzer/airtime_analyzer/metadata_analyzer.py index d1c1ebc99..7589fb2b1 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/metadata_analyzer.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/metadata_analyzer.py @@ -41,7 +41,10 @@ class MetadataAnalyzer(Analyzer): metadata["md5"] = m.hexdigest() # Mutagen doesn't handle WAVE files so we use a different package - mime_check = magic.from_file(filename, mime=True) + ms = magic.open(magic.MIME_TYPE) + ms.load() + with open(filename, 'rb') as fh: + mime_check = ms.buffer(fh.read(2014)) metadata["mime"] = mime_check if mime_check == 'audio/x-wav': return MetadataAnalyzer._analyze_wave(filename, metadata) @@ -164,7 +167,6 @@ class MetadataAnalyzer(Analyzer): def _analyze_wave(filename, metadata): try: reader = wave.open(filename, 'rb') - metadata["mime"] = magic.from_file(filename, mime=True) metadata["channels"] = reader.getnchannels() metadata["sample_rate"] = reader.getframerate() length_seconds = float(reader.getnframes()) / float(metadata["sample_rate"]) diff --git a/python_apps/airtime_analyzer/setup.py b/python_apps/airtime_analyzer/setup.py index 1d1ff773a..445619263 100644 --- a/python_apps/airtime_analyzer/setup.py +++ b/python_apps/airtime_analyzer/setup.py @@ -31,7 +31,7 @@ setup(name='airtime_analyzer', 'mutagen==1.31', # The Mutagen guys change stuff all the time that break our unit tests. Watch out for this. 'pika', 'daemon', - 'python-magic', + 'file-magic', 'nose', 'coverage', 'mock',