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 logging
import math
import re
"""
list of supported easy tags in mutagen version 1.20
@ -133,9 +134,20 @@ class AirtimeMetadata:
md['MDATA_KEY_TITLE'] = original_name
#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 isinstance(md['MDATA_KEY_TRACKNUMBER'], basestring):
md['MDATA_KEY_TRACKNUMBER'] = md['MDATA_KEY_TRACKNUMBER'].split("/")[0]
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]
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_SAMPLERATE'] = file_info.info.sample_rate
@ -152,4 +164,7 @@ class AirtimeMetadata:
if(isinstance(md[key], basestring)):
md[key] = md[key].encode('utf-8')
self.logger.info("MD after parsing.")
self.logger.debug(md)
return md