From ff8969efb997c7aefbbcd06593587ce7e3b03073 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Fri, 12 Oct 2012 15:54:38 -0400 Subject: [PATCH] Improved handling for paths and added tests for it --- .../media-monitor2/media/metadata/definitions.py | 3 ++- .../media-monitor2/media/metadata/process.py | 3 ++- python_apps/media-monitor2/media/monitor/pure.py | 2 +- python_apps/media-monitor2/tests/test_emf.py | 13 ++++++++++--- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/python_apps/media-monitor2/media/metadata/definitions.py b/python_apps/media-monitor2/media/metadata/definitions.py index a4f93848e..ee4175033 100644 --- a/python_apps/media-monitor2/media/metadata/definitions.py +++ b/python_apps/media-monitor2/media/metadata/definitions.py @@ -20,7 +20,8 @@ def load_definitions(): with md.metadata('MDATA_KEY_MIME') as t: t.default(u'') t.depends('mime') - t.translate(lambda k: k['mime'].replace('-','/')) + # Is this necessary? + t.translate(lambda k: k['mime'].replace('audio/vorbis','audio/ogg')) with md.metadata('MDATA_KEY_BITRATE') as t: t.default(u'') diff --git a/python_apps/media-monitor2/media/metadata/process.py b/python_apps/media-monitor2/media/metadata/process.py index cde28cfaa..85a462919 100644 --- a/python_apps/media-monitor2/media/metadata/process.py +++ b/python_apps/media-monitor2/media/metadata/process.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from contextlib import contextmanager from media.monitor.pure import truncate_to_length, toposort +from os.path import normpath from media.monitor.log import Loggable import mutagen @@ -139,7 +140,7 @@ def normalize_mutagen(path): md['bitrate'] = getattr(m.info, 'bitrate', u'') md['sample_rate'] = getattr(m.info, 'sample_rate', 0) md['mime'] = m.mime[0] if len(m.mime) > 0 else u'' - md['path'] = path + md['path'] = normpath(path) if 'title' not in md: md['title'] = u'' return md diff --git a/python_apps/media-monitor2/media/monitor/pure.py b/python_apps/media-monitor2/media/monitor/pure.py index 1bb4231ae..fd1c55a13 100644 --- a/python_apps/media-monitor2/media/monitor/pure.py +++ b/python_apps/media-monitor2/media/monitor/pure.py @@ -312,7 +312,7 @@ def normalized_metadata(md, original_path): # TODO : wtf is this for again? new_md['MDATA_KEY_TITLE'] = re.sub(r'-?%s-?' % unicode_unknown, u'', new_md['MDATA_KEY_TITLE']) - new_md['MDATA_KEY_ORIGINAL_PATH'] = original_path + new_md['MDATA_KEY_ORIGINAL_PATH'] = normpath(original_path) return new_md def organized_path(old_path, root_path, orig_md): diff --git a/python_apps/media-monitor2/tests/test_emf.py b/python_apps/media-monitor2/tests/test_emf.py index 3114e2f41..0213fa918 100644 --- a/python_apps/media-monitor2/tests/test_emf.py +++ b/python_apps/media-monitor2/tests/test_emf.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- import unittest -from pprint import pprint as pp +#from pprint import pprint as pp from media.metadata.process import global_reader from media.monitor.metadata import Metadata @@ -9,6 +9,13 @@ import media.metadata.definitions as defs defs.load_definitions() class TestMMP(unittest.TestCase): + + def setUp(self): + self.maxDiff = None + + def metadatas(self,f): + return global_reader.read_mutagen(f), Metadata(f).extract() + def test_old_metadata(self): path = "/home/rudi/music/Nightingale.mp3" m = global_reader.read_mutagen(path) @@ -18,8 +25,8 @@ class TestMMP(unittest.TestCase): def test_recorded(self): recorded_file = "./15:15:00-Untitled Show-256kbps.ogg" - m = global_reader.read_mutagen(recorded_file) - pp(m) + emf, old = self.metadatas(recorded_file) + self.assertEqual(emf, old) if __name__ == '__main__': unittest.main()