CC-2582 : Files with a tracknumber that isn't actually a tracknumber don't get imported properly
This commit is contained in:
parent
5cd2a3a06c
commit
7074af447c
2 changed files with 18 additions and 1 deletions
|
@ -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):
|
||||||
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_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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue