CC-2582 : Files with a tracknumber that isn't actually a tracknumber don't get imported properly

This commit is contained in:
Naomi Aro 2011-07-22 12:11:57 +02:00
parent 5cd2a3a06c
commit 7074af447c
2 changed files with 18 additions and 1 deletions

View file

@ -3,6 +3,7 @@ import hashlib
import mutagen import mutagen
import logging import logging
import math import math
import re
""" """
list of supported easy tags in mutagen version 1.20 list of supported easy tags in mutagen version 1.20
@ -133,9 +134,20 @@ class AirtimeMetadata:
md['MDATA_KEY_TITLE'] = original_name md['MDATA_KEY_TITLE'] = original_name
#incase track number is in format u'4/11' #incase track number is in format u'4/11'
#need to also check that the tracknumber is even a tracknumber (cc-2582)
if 'MDATA_KEY_TRACKNUMBER' in md: if 'MDATA_KEY_TRACKNUMBER' in md:
if isinstance(md['MDATA_KEY_TRACKNUMBER'], basestring): if isinstance(md['MDATA_KEY_TRACKNUMBER'], basestring):
match = re.search('^(\d*/\d*)?', md['MDATA_KEY_TRACKNUMBER'])
self.logger.debug('match is')
self.logger.debug(match.group(0))
if match.group(0) is not u'':
md['MDATA_KEY_TRACKNUMBER'] = md['MDATA_KEY_TRACKNUMBER'].split("/")[0] md['MDATA_KEY_TRACKNUMBER'] = md['MDATA_KEY_TRACKNUMBER'].split("/")[0]
self.logger.debug(md['MDATA_KEY_TRACKNUMBER'])
else:
del md['MDATA_KEY_TRACKNUMBER']
self.logger.debug("deleting tracknumber")
md['MDATA_KEY_BITRATE'] = file_info.info.bitrate md['MDATA_KEY_BITRATE'] = file_info.info.bitrate
md['MDATA_KEY_SAMPLERATE'] = file_info.info.sample_rate md['MDATA_KEY_SAMPLERATE'] = file_info.info.sample_rate
@ -152,4 +164,7 @@ class AirtimeMetadata:
if(isinstance(md[key], basestring)): if(isinstance(md[key], basestring)):
md[key] = md[key].encode('utf-8') md[key] = md[key].encode('utf-8')
self.logger.info("MD after parsing.")
self.logger.debug(md)
return md return md

View file

@ -179,8 +179,10 @@ class MediaMonitorCommon:
else: else:
md[m] = orig_md[m] md[m] = orig_md[m]
self.logger.debug(md['MDATA_KEY_TRACKNUMBER'])
if 'MDATA_KEY_TRACKNUMBER' in orig_md: if 'MDATA_KEY_TRACKNUMBER' in orig_md:
#make sure all track numbers are at least 2 digits long in the filepath. #make sure all track numbers are at least 2 digits long in the filepath.
self.logger.debug("formatting track number")
md['MDATA_KEY_TRACKNUMBER'] = "%02d" % (int(md['MDATA_KEY_TRACKNUMBER'])) md['MDATA_KEY_TRACKNUMBER'] = "%02d" % (int(md['MDATA_KEY_TRACKNUMBER']))
#format bitrate as 128kbps #format bitrate as 128kbps