CC-3792: Record show's file cannot be saved

-fixed
This commit is contained in:
Martin Konecny 2012-05-10 00:12:14 -04:00
parent ee52d2e36e
commit 9bb8e2ad8e
3 changed files with 20 additions and 14 deletions

View file

@ -3,8 +3,8 @@ import hashlib
import mutagen import mutagen
import logging import logging
import math import math
import datetime
import re import re
import traceback
from api_clients import api_client from api_clients import api_client
""" """
@ -27,8 +27,8 @@ class AirtimeMetadata:
"MDATA_KEY_COMPOSER": "composer",\ "MDATA_KEY_COMPOSER": "composer",\
"MDATA_KEY_ENCODER": "encodedby",\ "MDATA_KEY_ENCODER": "encodedby",\
"MDATA_KEY_CONDUCTOR": "conductor",\ "MDATA_KEY_CONDUCTOR": "conductor",\
"MDATA_KEY_YEAR": "year",\ "MDATA_KEY_RECORD_DATE": "record_date",\
"MDATA_KEY_DATE": "date",\ "MDATA_KEY_YEAR": "date",\
"MDATA_KEY_URL": "website",\ "MDATA_KEY_URL": "website",\
"MDATA_KEY_ISRC": "isrc",\ "MDATA_KEY_ISRC": "isrc",\
"MDATA_KEY_COPYRIGHT": "copyright",\ "MDATA_KEY_COPYRIGHT": "copyright",\
@ -46,8 +46,8 @@ class AirtimeMetadata:
"composer": "MDATA_KEY_COMPOSER",\ "composer": "MDATA_KEY_COMPOSER",\
"encodedby": "MDATA_KEY_ENCODER",\ "encodedby": "MDATA_KEY_ENCODER",\
"conductor": "MDATA_KEY_CONDUCTOR",\ "conductor": "MDATA_KEY_CONDUCTOR",\
"year": "MDATA_KEY_YEAR",\ "record_date": "MDATA_KEY_RECORD_DATE",\
"date": "MDATA_KEY_DATE",\ "date": "MDATA_KEY_YEAR",\
"website": "MDATA_KEY_URL",\ "website": "MDATA_KEY_URL",\
"isrc": "MDATA_KEY_ISRC",\ "isrc": "MDATA_KEY_ISRC",\
"copyright": "MDATA_KEY_COPYRIGHT",\ "copyright": "MDATA_KEY_COPYRIGHT",\
@ -139,8 +139,14 @@ class AirtimeMetadata:
#check if file has any metadata #check if file has any metadata
if file_info is not None: if file_info is not None:
for key in file_info.keys() : for key in file_info.keys() :
if key in self.mutagen2airtime and len(file_info[key]) > 0: if key in self.mutagen2airtime:
md[self.mutagen2airtime[key]] = file_info[key][0] 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: if 'MDATA_KEY_TITLE' not in md:
#get rid of file extension from original name, name might have more than 1 '.' in it. #get rid of file extension from original name, name might have more than 1 '.' in it.
original_name = os.path.basename(filepath) original_name = os.path.basename(filepath)
@ -203,8 +209,8 @@ class AirtimeMetadata:
if 'MDATA_KEY_YEAR' in md: if 'MDATA_KEY_YEAR' in md:
md['MDATA_KEY_YEAR'] = self.truncate_to_length(md['MDATA_KEY_YEAR'], 4) md['MDATA_KEY_YEAR'] = self.truncate_to_length(md['MDATA_KEY_YEAR'], 4)
if 'MDATA_KEY_DATE' in md: if 'MDATA_KEY_RECORD_DATE' in md:
md['MDATA_KEY_DATE'] = self.truncate_to_length(md['MDATA_KEY_DATE'], 16) md['MDATA_KEY_RECORD_DATE'] = self.truncate_to_length(md['MDATA_KEY_RECORD_DATE'], 16)
if 'MDATA_KEY_URL' in md: if 'MDATA_KEY_URL' in md:
md['MDATA_KEY_URL'] = self.truncate_to_length(md['MDATA_KEY_URL'], 512) md['MDATA_KEY_URL'] = self.truncate_to_length(md['MDATA_KEY_URL'], 512)

View file

@ -236,8 +236,8 @@ class MediaMonitorCommon:
#/srv/airtime/stor/recorded/year/month/year-month-day-time-showname-bitrate.ext #/srv/airtime/stor/recorded/year/month/year-month-day-time-showname-bitrate.ext
if(md['MDATA_KEY_CREATOR'] == u"Airtime Show Recorder"): if(md['MDATA_KEY_CREATOR'] == u"Airtime Show Recorder"):
#yyyy-mm-dd-hh-MM-ss #yyyy-mm-dd-hh-MM-ss
y = orig_md['MDATA_KEY_DATE'].split("-") 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_DATE'], md['MDATA_KEY_TITLE'], md['MDATA_KEY_BITRATE'], file_ext) 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" #"Show-Title-2011-03-28-17:15:00"
title = md['MDATA_KEY_TITLE'].split("-") title = md['MDATA_KEY_TITLE'].split("-")
@ -248,7 +248,7 @@ class MediaMonitorCommon:
new_md = {} new_md = {}
new_md["MDATA_KEY_FILEPATH"] = original_path 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) self.md_manager.save_md_to_file(new_md)
elif(md['MDATA_KEY_TRACKNUMBER'] == u'unknown'): elif(md['MDATA_KEY_TRACKNUMBER'] == u'unknown'):

View file

@ -133,8 +133,8 @@ class ShowRecorder(Thread):
recorded_file = mutagen.File(filepath, easy=True) recorded_file = mutagen.File(filepath, easy=True)
recorded_file['title'] = name recorded_file['title'] = name
recorded_file['artist'] = artist recorded_file['artist'] = artist
recorded_file['date'] = md[0] recorded_file['record_date'] = md[0]
recorded_file['year'] = md[0].split("-")[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 #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['tracknumber'] = unicode(self.show_instance)
recorded_file.save() recorded_file.save()