diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimemetadata.py b/python_apps/media-monitor/airtimefilemonitor/airtimemetadata.py index f33db9e2d..c9f5afbc0 100644 --- a/python_apps/media-monitor/airtimefilemonitor/airtimemetadata.py +++ b/python_apps/media-monitor/airtimefilemonitor/airtimemetadata.py @@ -3,8 +3,8 @@ import hashlib import mutagen import logging import math -import datetime import re +import traceback from api_clients import api_client """ @@ -27,8 +27,8 @@ class AirtimeMetadata: "MDATA_KEY_COMPOSER": "composer",\ "MDATA_KEY_ENCODER": "encodedby",\ "MDATA_KEY_CONDUCTOR": "conductor",\ - "MDATA_KEY_YEAR": "year",\ - "MDATA_KEY_DATE": "date",\ + "MDATA_KEY_RECORD_DATE": "record_date",\ + "MDATA_KEY_YEAR": "date",\ "MDATA_KEY_URL": "website",\ "MDATA_KEY_ISRC": "isrc",\ "MDATA_KEY_COPYRIGHT": "copyright",\ @@ -46,8 +46,8 @@ class AirtimeMetadata: "composer": "MDATA_KEY_COMPOSER",\ "encodedby": "MDATA_KEY_ENCODER",\ "conductor": "MDATA_KEY_CONDUCTOR",\ - "year": "MDATA_KEY_YEAR",\ - "date": "MDATA_KEY_DATE",\ + "record_date": "MDATA_KEY_RECORD_DATE",\ + "date": "MDATA_KEY_YEAR",\ "website": "MDATA_KEY_URL",\ "isrc": "MDATA_KEY_ISRC",\ "copyright": "MDATA_KEY_COPYRIGHT",\ @@ -139,8 +139,14 @@ class AirtimeMetadata: #check if file has any metadata if file_info is not None: for key in file_info.keys() : - if key in self.mutagen2airtime and len(file_info[key]) > 0: - md[self.mutagen2airtime[key]] = file_info[key][0] + if key in self.mutagen2airtime: + val = file_info[key] + try: + if val is not None and len(val) > 0 and val[0] is not None and len(val[0]) > 0: + md[self.mutagen2airtime[key]] = val[0] + except Exception, e: + self.logger.error('Exception: %s', e) + self.logger.error("traceback: %s", traceback.format_exc()) if 'MDATA_KEY_TITLE' not in md: #get rid of file extension from original name, name might have more than 1 '.' in it. original_name = os.path.basename(filepath) @@ -203,8 +209,8 @@ class AirtimeMetadata: if 'MDATA_KEY_YEAR' in md: md['MDATA_KEY_YEAR'] = self.truncate_to_length(md['MDATA_KEY_YEAR'], 4) - if 'MDATA_KEY_DATE' in md: - md['MDATA_KEY_DATE'] = self.truncate_to_length(md['MDATA_KEY_DATE'], 16) + if 'MDATA_KEY_RECORD_DATE' in md: + md['MDATA_KEY_RECORD_DATE'] = self.truncate_to_length(md['MDATA_KEY_RECORD_DATE'], 16) if 'MDATA_KEY_URL' in md: md['MDATA_KEY_URL'] = self.truncate_to_length(md['MDATA_KEY_URL'], 512) diff --git a/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py b/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py index 9be5cb15a..bbacc69f9 100644 --- a/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py +++ b/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py @@ -236,8 +236,8 @@ class MediaMonitorCommon: #/srv/airtime/stor/recorded/year/month/year-month-day-time-showname-bitrate.ext if(md['MDATA_KEY_CREATOR'] == u"Airtime Show Recorder"): #yyyy-mm-dd-hh-MM-ss - y = orig_md['MDATA_KEY_DATE'].split("-") - filepath = u'%s/%s/%s/%s/%s-%s-%s%s' % (storage_directory, "recorded", y[0], y[1], orig_md['MDATA_KEY_DATE'], md['MDATA_KEY_TITLE'], md['MDATA_KEY_BITRATE'], file_ext) + y = orig_md['MDATA_KEY_RECORD_DATE'].split("-") + filepath = u'%s/%s/%s/%s/%s-%s-%s%s' % (storage_directory, "recorded", y[0], y[1], orig_md['MDATA_KEY_RECORD_DATE'], md['MDATA_KEY_TITLE'], md['MDATA_KEY_BITRATE'], file_ext) #"Show-Title-2011-03-28-17:15:00" title = md['MDATA_KEY_TITLE'].split("-") @@ -248,7 +248,7 @@ class MediaMonitorCommon: new_md = {} new_md["MDATA_KEY_FILEPATH"] = original_path - new_md['MDATA_KEY_TITLE'] = '%s-%s-%s:%s:%s' % (show_name, orig_md['MDATA_KEY_DATE'], show_hour, show_min, show_sec) + new_md['MDATA_KEY_TITLE'] = '%s-%s-%s:%s:%s' % (show_name, orig_md['MDATA_KEY_RECORD_DATE'], show_hour, show_min, show_sec) self.md_manager.save_md_to_file(new_md) elif(md['MDATA_KEY_TRACKNUMBER'] == u'unknown'): diff --git a/python_apps/pypo/recorder.py b/python_apps/pypo/recorder.py index 2146e4d2e..19f91621e 100644 --- a/python_apps/pypo/recorder.py +++ b/python_apps/pypo/recorder.py @@ -133,8 +133,8 @@ class ShowRecorder(Thread): recorded_file = mutagen.File(filepath, easy=True) recorded_file['title'] = name recorded_file['artist'] = artist - recorded_file['date'] = md[0] - recorded_file['year'] = md[0].split("-")[0] + recorded_file['record_date'] = md[0] + recorded_file['date'] = md[0].split("-")[0] #You cannot pass ints into the metadata of a file. Even tracknumber needs to be a string recorded_file['tracknumber'] = unicode(self.show_instance) recorded_file.save()