diff --git a/python_apps/media-monitor2/media/monitor/metadata.py b/python_apps/media-monitor2/media/monitor/metadata.py index 013fd8a27..b62f72c09 100644 --- a/python_apps/media-monitor2/media/monitor/metadata.py +++ b/python_apps/media-monitor2/media/monitor/metadata.py @@ -200,6 +200,11 @@ class Metadata(Loggable): self.__metadata = Metadata.airtime_dict(full_mutagen) # Now we extra the special values that are calculated from the mutagen # object itself: + + # Hickity Hackity for .wav files. Properly do this later + if mmp.extension(fpath) == 'wav': + full_mutagen.set_length(mmp.read_wave_duration(fpath)) + for special_key,f in airtime_special.iteritems(): try: new_val = f(full_mutagen) @@ -209,11 +214,6 @@ class Metadata(Loggable): self.logger.info("Could not get special key %s for %s" % (special_key, fpath)) self.logger.info(str(e)) - - # Hickity Hackity for .wav files. Properly do this later - if mmp.extension(fpath) == 'wav': - full_mutagen.set_length(mmp.read_wave_duration(fpath)) - # Finally, we "normalize" all the metadata here: self.__metadata = mmp.normalized_metadata(self.__metadata, fpath) # Now we must load the md5: diff --git a/python_apps/media-monitor2/media/monitor/pure.py b/python_apps/media-monitor2/media/monitor/pure.py index 72f0f5030..655388820 100644 --- a/python_apps/media-monitor2/media/monitor/pure.py +++ b/python_apps/media-monitor2/media/monitor/pure.py @@ -362,7 +362,7 @@ def file_md5(path,max_length=100): # whatever it was able to read which is acceptable behaviour m.update(f.read(max_length)) return m.hexdigest() - else: raise ValueError("'%s' must exist to find its md5") + else: raise ValueError("'%s' must exist to find its md5" % path) def encode_to(obj, encoding='utf-8'): # TODO : add documentation + unit tests for this function