CC-3917: record_date field in recorded shows causing problem
-fixed
This commit is contained in:
parent
43f57c0f8b
commit
b6446442ba
4 changed files with 27 additions and 11 deletions
|
@ -91,6 +91,27 @@ class Application_Model_StoredFile {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$dbMd = array();
|
$dbMd = array();
|
||||||
|
|
||||||
|
if (isset($p_md["MDATA_KEY_YEAR"])){
|
||||||
|
// We need to make sure to clean this value before inserting into database.
|
||||||
|
// If value is outside of range [-2^31, 2^31-1] then postgresl will throw error
|
||||||
|
// when trying to retrieve this value. We could make sure number is within these bounds,
|
||||||
|
// but simplest is to do substring to 4 digits (both values are garbage, but at least our
|
||||||
|
// new garbage value won't cause errors). If the value is 2012-01-01, then substring to
|
||||||
|
// 4 digits is an OK result.
|
||||||
|
// CC-3771
|
||||||
|
|
||||||
|
$year = $p_md["MDATA_KEY_YEAR"];
|
||||||
|
|
||||||
|
if (strlen($year) > 4){
|
||||||
|
$year = substr($year, 0, 4);
|
||||||
|
}
|
||||||
|
if (!is_numeric($year)){
|
||||||
|
$year = 0;
|
||||||
|
}
|
||||||
|
$p_md["MDATA_KEY_YEAR"] = $year;
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($p_md as $mdConst => $mdValue) {
|
foreach ($p_md as $mdConst => $mdValue) {
|
||||||
if (defined($mdConst)){
|
if (defined($mdConst)){
|
||||||
$dbMd[constant($mdConst)] = $mdValue;
|
$dbMd[constant($mdConst)] = $mdValue;
|
||||||
|
|
|
@ -29,7 +29,6 @@ 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_RECORD_DATE": "record_date",\
|
|
||||||
"MDATA_KEY_YEAR": "date",\
|
"MDATA_KEY_YEAR": "date",\
|
||||||
"MDATA_KEY_URL": "website",\
|
"MDATA_KEY_URL": "website",\
|
||||||
"MDATA_KEY_ISRC": "isrc",\
|
"MDATA_KEY_ISRC": "isrc",\
|
||||||
|
@ -48,7 +47,6 @@ 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",\
|
||||||
"record_date": "MDATA_KEY_RECORD_DATE",\
|
|
||||||
"date": "MDATA_KEY_YEAR",\
|
"date": "MDATA_KEY_YEAR",\
|
||||||
"website": "MDATA_KEY_URL",\
|
"website": "MDATA_KEY_URL",\
|
||||||
"isrc": "MDATA_KEY_ISRC",\
|
"isrc": "MDATA_KEY_ISRC",\
|
||||||
|
@ -209,10 +207,7 @@ class AirtimeMetadata:
|
||||||
md['MDATA_KEY_CONDUCTOR'] = self.truncate_to_length(md['MDATA_KEY_CONDUCTOR'], 512)
|
md['MDATA_KEY_CONDUCTOR'] = self.truncate_to_length(md['MDATA_KEY_CONDUCTOR'], 512)
|
||||||
|
|
||||||
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'], 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:
|
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)
|
||||||
|
|
|
@ -238,8 +238,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_RECORD_DATE'].split("-")
|
y = orig_md['MDATA_KEY_YEAR'].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)
|
filepath = u'%s/%s/%s/%s/%s-%s-%s%s' % (storage_directory, "recorded", y[0], y[1], orig_md['MDATA_KEY_YEAR'], 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("-")
|
||||||
|
@ -250,7 +250,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_RECORD_DATE'], show_hour, show_min, show_sec)
|
new_md['MDATA_KEY_TITLE'] = '%s-%s-%s:%s:%s' % (show_name, orig_md['MDATA_KEY_YEAR'], 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'):
|
||||||
|
|
|
@ -135,8 +135,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['record_date'] = md[0]
|
recorded_file['date'] = md[0]
|
||||||
recorded_file['date'] = 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()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue