From c04c9e7294acf3eff66f6f44a6e466b39a4df509 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Fri, 29 Jul 2011 15:08:44 +0200 Subject: [PATCH 01/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- .../airtime-1.9.0/airtime-upgrade.php | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php index 47f851305..6fe2b0c22 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php @@ -580,6 +580,57 @@ class Airtime190Upgrade{ $CC_DBC = DB::connect($CC_CONFIG['dsn'], FALSE); } + public static function backupFileInfoInStorToFile($values) { + + $stor_dir = realpath($values['general']['base_files_dir']."/stor"); + + $files = CcFilesQuery::create() + ->setFormatter(ModelCriteria::FORMAT_ON_DEMAND) + ->find(); + + $dumpFile = "storDump.txt"; + $fh = fopen($dumpFile, 'w') or die("can't open file to backup stor."); + + $s = "SF_BACKUP"; + + foreach ($files as $file) { + + if (substr($file->getDbFilepath, 0, strlen($stor_dir)) == $stor_dir) { + + $recorded_show = CcShowInstancesQuery::create() + ->filterByDbRecordedFile($file->getDbId()) + ->findOne(); + + if (isset($recorded_show)) { + + $start_time = $recorded_show->getDbStarts(); + $title = $file->getDbTrackTitle(); + + $start_time = str_replace(" ", "-", $start_time); + $start_time = str_replace(":", "-", $start_time); + + //$start_time like yyyy-mm-dd-hh-MM-ss + list($yyyy, $mm, $dd, $hh, $MM, $ss) = explode("-", $start_time); + + $data = "1$s$title$s$yyyy$s$mm$s$dd$s$hh$s$MM\n"; + } + else { + + $artist = $file->getDbArtistName(); + $album = $file->getDbAlbumTitle(); + $track = $file->getDbTrackNumber(); + $title = $file->getDbTrackTitle(); + + $data = "0$s$title$s$artist$s$album$s$track\n"; + } + + fwrite($fh, $data); + } + } + + fclose($fh); + } + /* Old database had a "fullpath" column that stored the absolute path of each track. We have to * change it so that the "fullpath" column has path relative to the "directory" column. */ @@ -736,6 +787,7 @@ AirtimeInstall::CreateSymlinksToUtils(); /* create cron file for phone home stat */ AirtimeInstall::CreateCronFile(); +Airtime190Upgrade::backupFileInfoInStorToFile($values); Airtime190Upgrade::installMediaMonitor($values); AirtimeIni::upgradeConfigFiles(); From 5a320aa225f1940db22e67e593b56091c8dcd86f Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Fri, 29 Jul 2011 15:33:53 +0200 Subject: [PATCH 02/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- .../upgrades/airtime-1.9.0/airtime-upgrade.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php index 6fe2b0c22..7df7f9240 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php @@ -582,20 +582,24 @@ class Airtime190Upgrade{ public static function backupFileInfoInStorToFile($values) { + echo "Save DbMd to File".PHP_EOL; + $stor_dir = realpath($values['general']['base_files_dir']."/stor"); $files = CcFilesQuery::create() ->setFormatter(ModelCriteria::FORMAT_ON_DEMAND) ->find(); - $dumpFile = "storDump.txt"; + $dumpFile = __DIR__"/storDump.txt"; $fh = fopen($dumpFile, 'w') or die("can't open file to backup stor."); $s = "SF_BACKUP"; foreach ($files as $file) { - if (substr($file->getDbFilepath, 0, strlen($stor_dir)) == $stor_dir) { + $filepath = $file->getDbFilepath(); + + if (substr($filepath, 0, strlen($stor_dir)) == $stor_dir) { $recorded_show = CcShowInstancesQuery::create() ->filterByDbRecordedFile($file->getDbId()) @@ -612,7 +616,7 @@ class Airtime190Upgrade{ //$start_time like yyyy-mm-dd-hh-MM-ss list($yyyy, $mm, $dd, $hh, $MM, $ss) = explode("-", $start_time); - $data = "1$s$title$s$yyyy$s$mm$s$dd$s$hh$s$MM\n"; + $data = "1$s$filepath$s$title$s$yyyy$s$mm$s$dd$s$hh$s$MM\n"; } else { @@ -621,7 +625,7 @@ class Airtime190Upgrade{ $track = $file->getDbTrackNumber(); $title = $file->getDbTrackTitle(); - $data = "0$s$title$s$artist$s$album$s$track\n"; + $data = "0$s$filepath$s$title$s$artist$s$album$s$track\n"; } fwrite($fh, $data); From 6d8e7b5dca712004a06b798f0c27eef5d8d09235 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Fri, 29 Jul 2011 15:42:48 +0200 Subject: [PATCH 03/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php index 7df7f9240..3c28492d9 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php @@ -590,7 +590,7 @@ class Airtime190Upgrade{ ->setFormatter(ModelCriteria::FORMAT_ON_DEMAND) ->find(); - $dumpFile = __DIR__"/storDump.txt"; + $dumpFile = __DIR__."/storDump.txt"; $fh = fopen($dumpFile, 'w') or die("can't open file to backup stor."); $s = "SF_BACKUP"; From a1158af93bbc190037474cc176078286be7e6503 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Fri, 29 Jul 2011 16:38:57 +0200 Subject: [PATCH 04/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade saving md to files in stor before path creation. --- .../airtime-1.9.0/airtime-upgrade.php | 2 +- .../airtime-1.9.0/media-monitor-upgrade.py | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php index 3c28492d9..8d2d98140 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php @@ -593,7 +593,7 @@ class Airtime190Upgrade{ $dumpFile = __DIR__."/storDump.txt"; $fh = fopen($dumpFile, 'w') or die("can't open file to backup stor."); - $s = "SF_BACKUP"; + $s = "SF_BACKUP_1.9.0"; foreach ($files as $file) { diff --git a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py index 63ee5d837..ed35c61b1 100644 --- a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py +++ b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py @@ -45,6 +45,29 @@ except Exception, e: mmc.set_needed_file_permissions(stor_dir, True) mmc.set_needed_file_permissions(organize_dir, True) +f = open('storDump.txt','r') +for line in f.readlines(): + db_md = line.split("SF_BACKUP_1.9.0") + file_md = {} + file_md['MDATA_KEY_FILEPATH'] = db_md[1] + + #file is recorded + #format 1 title year month day hour min + if db_md[0]: + file_md["MDATA_KEY_TITLE"] = db_md[2] + file_md["MDATA_KEY_YEAR"] = db_md[3]+"-"+db_md[4]+"-"+db_md[5] + #file is regular audio file + #format 0 title artist album track + else: + file_md["MDATA_KEY_TITLE"] = db_md[2] + file_md["MDATA_KEY_CREATOR"] = db_md[3] + file_md["MDATA_KEY_SOURCE"] = db_md[4] + file_md["MDATA_KEY_TRACKNUMBER"] = db_md[5] + + mmc.md_manager.save_md_to_file() + +f.close() + #read list of all files in stor location.....and one-by-one pass this through to #mmc.organize_files. print out json encoding of before and after pairs = [] From a20a6d1574ad822dfff67cb8e6456790aec238c5 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Fri, 29 Jul 2011 18:24:21 +0200 Subject: [PATCH 05/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- .../upgrades/airtime-1.9.0/media-monitor-upgrade.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py index ed35c61b1..02a49b731 100644 --- a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py +++ b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py @@ -48,6 +48,7 @@ mmc.set_needed_file_permissions(organize_dir, True) f = open('storDump.txt','r') for line in f.readlines(): db_md = line.split("SF_BACKUP_1.9.0") + logger.debug(db_md) file_md = {} file_md['MDATA_KEY_FILEPATH'] = db_md[1] @@ -55,11 +56,23 @@ for line in f.readlines(): #format 1 title year month day hour min if db_md[0]: file_md["MDATA_KEY_TITLE"] = db_md[2] + match = re.search('^.*(?=\-\d{4}\-\d{2}\-\d{2}\-\d{2}:\d{2}:\d{2}\.(mp3|ogg))', file_md["MDATA_KEY_TITLE"]) + + #"Show-Title-2011-03-28-17:15:00.mp3" + if match: + file_md["MDATA_KEY_TITLE"] = match.group(0) + file_md["MDATA_KEY_YEAR"] = db_md[3]+"-"+db_md[4]+"-"+db_md[5] #file is regular audio file #format 0 title artist album track else: file_md["MDATA_KEY_TITLE"] = db_md[2] + match = re.search('^.*(?=\.mp3|\.ogg)', file_md["MDATA_KEY_TITLE"]) + + #"test.mp3" -> "test" + if match: + file_md["MDATA_KEY_TITLE"] = match.group(0) + file_md["MDATA_KEY_CREATOR"] = db_md[3] file_md["MDATA_KEY_SOURCE"] = db_md[4] file_md["MDATA_KEY_TRACKNUMBER"] = db_md[5] From 726cf090399e5b86670e716d880b9d06a98bcd03 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Fri, 29 Jul 2011 18:34:08 +0200 Subject: [PATCH 06/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py | 1 + 1 file changed, 1 insertion(+) diff --git a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py index 02a49b731..b384df721 100644 --- a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py +++ b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py @@ -10,6 +10,7 @@ import ConfigParser import pwd import grp import subprocess +import re import os.path From 03dc7d7bfade89df0d94516c49304bc841e6e45e Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Fri, 29 Jul 2011 18:45:50 +0200 Subject: [PATCH 07/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py index b384df721..13242e4d2 100644 --- a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py +++ b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py @@ -78,7 +78,7 @@ for line in f.readlines(): file_md["MDATA_KEY_SOURCE"] = db_md[4] file_md["MDATA_KEY_TRACKNUMBER"] = db_md[5] - mmc.md_manager.save_md_to_file() + mmc.md_manager.save_md_to_file(file_md) f.close() From d606b4b173d75ca50d9d3f586209a53a10f5f5b4 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 1 Aug 2011 12:22:20 +0200 Subject: [PATCH 08/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- .../airtimefilemonitor/mediamonitorcommon.py | 15 +++++++++++- .../airtime-1.9.0/media-monitor-upgrade.py | 23 +++++++++++++++---- .../airtimefilemonitor/mediamonitorcommon.py | 15 +++++++++++- python_apps/show-recorder/recorder.py | 2 +- 4 files changed, 48 insertions(+), 7 deletions(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py b/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py index fa1fcbd8f..4a42095f1 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py +++ b/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py @@ -189,10 +189,23 @@ class MediaMonitorCommon: filepath = None #file is recorded by Airtime #/srv/airtime/stor/recorded/year/month/year-month-day-time-showname-bitrate.ext - if(md['MDATA_KEY_CREATOR'] == "AIRTIMERECORDERSOURCEFABRIC".encode('utf-8')): + if(md['MDATA_KEY_CREATOR'] == "Airtime Show Recorder".encode('utf-8')): #yyyy-mm-dd-hh-MM-ss y = orig_md['MDATA_KEY_YEAR'].split("-") filepath = '%s/%s/%s/%s/%s-%s-%s%s' % (storage_directory, "recorded".encode('utf-8'), 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" + title = md['MDATA_KEY_TITLE'].split("-") + show_hour = title[0] + show_min = title[1] + show_sec = title[2] + show_name = title[3:] + + 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_YEAR'], show_hour, show_min, show_sec) + self.md_manager.save_md_to_file(new_md) + elif(md['MDATA_KEY_TRACKNUMBER'] == u'unknown'.encode('utf-8')): filepath = '%s/%s/%s/%s/%s-%s%s' % (storage_directory, "imported".encode('utf-8'), md['MDATA_KEY_CREATOR'], md['MDATA_KEY_SOURCE'], md['MDATA_KEY_TITLE'], md['MDATA_KEY_BITRATE'], file_ext) else: diff --git a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py index 13242e4d2..6db6f933d 100644 --- a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py +++ b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py @@ -46,12 +46,17 @@ except Exception, e: mmc.set_needed_file_permissions(stor_dir, True) mmc.set_needed_file_permissions(organize_dir, True) +#read list of all files in stor location.....and one-by-one pass this through to +#mmc.organize_files. print out json encoding of before and after +pairs = [] + f = open('storDump.txt','r') for line in f.readlines(): db_md = line.split("SF_BACKUP_1.9.0") logger.debug(db_md) file_md = {} - file_md['MDATA_KEY_FILEPATH'] = db_md[1] + old_filepath = db_md[1] + file_md["MDATA_KEY_FILEPATH"] = old_filepath #file is recorded #format 1 title year month day hour min @@ -63,7 +68,13 @@ for line in f.readlines(): if match: file_md["MDATA_KEY_TITLE"] = match.group(0) + file_md["MDATA_KEY_TITLE"] = db_md[6]+"-"+db_md[7]+"-00-"+file_md["MDATA_KEY_TITLE"] file_md["MDATA_KEY_YEAR"] = db_md[3]+"-"+db_md[4]+"-"+db_md[5] + + file_md["MDATA_KEY_CREATOR"] = "Airtime Show Recorder".encode('utf-8') + + #mmc.md_manager.save_md_to_file(file_md) + #file is regular audio file #format 0 title artist album track else: @@ -80,11 +91,15 @@ for line in f.readlines(): mmc.md_manager.save_md_to_file(file_md) + #new_filepath = mmc.organize_new_file(old_filepath) + + #if new_filepath is not None: + #pair = old_filepath, new_filepath + #pairs.append(pair) + #mmc.set_needed_file_permissions(new_filepath, False) + f.close() -#read list of all files in stor location.....and one-by-one pass this through to -#mmc.organize_files. print out json encoding of before and after -pairs = [] for root, dirs, files in os.walk(mmconfig.storage_directory): for f in files: old_filepath = os.path.join(root, f) diff --git a/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py b/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py index fa1fcbd8f..4a42095f1 100644 --- a/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py +++ b/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py @@ -189,10 +189,23 @@ class MediaMonitorCommon: filepath = None #file is recorded by Airtime #/srv/airtime/stor/recorded/year/month/year-month-day-time-showname-bitrate.ext - if(md['MDATA_KEY_CREATOR'] == "AIRTIMERECORDERSOURCEFABRIC".encode('utf-8')): + if(md['MDATA_KEY_CREATOR'] == "Airtime Show Recorder".encode('utf-8')): #yyyy-mm-dd-hh-MM-ss y = orig_md['MDATA_KEY_YEAR'].split("-") filepath = '%s/%s/%s/%s/%s-%s-%s%s' % (storage_directory, "recorded".encode('utf-8'), 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" + title = md['MDATA_KEY_TITLE'].split("-") + show_hour = title[0] + show_min = title[1] + show_sec = title[2] + show_name = title[3:] + + 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_YEAR'], show_hour, show_min, show_sec) + self.md_manager.save_md_to_file(new_md) + elif(md['MDATA_KEY_TRACKNUMBER'] == u'unknown'.encode('utf-8')): filepath = '%s/%s/%s/%s/%s-%s%s' % (storage_directory, "imported".encode('utf-8'), md['MDATA_KEY_CREATOR'], md['MDATA_KEY_SOURCE'], md['MDATA_KEY_TITLE'], md['MDATA_KEY_BITRATE'], file_ext) else: diff --git a/python_apps/show-recorder/recorder.py b/python_apps/show-recorder/recorder.py index 83ae5e1f5..8c171f6f9 100644 --- a/python_apps/show-recorder/recorder.py +++ b/python_apps/show-recorder/recorder.py @@ -132,7 +132,7 @@ class ShowRecorder(Thread): name = time+"-"+self.show_name name.encode('utf-8') - artist = "AIRTIMERECORDERSOURCEFABRIC".encode('utf-8') + artist = "Airtime Show Recorder".encode('utf-8') #set some metadata for our file daemon recorded_file = mutagen.File(filepath, easy=True) From 0fba75b9ad82d43ff0432fe17ec20e982a67b8e9 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 1 Aug 2011 13:27:58 +0200 Subject: [PATCH 09/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py | 2 +- .../media-monitor/airtimefilemonitor/mediamonitorcommon.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py index 6db6f933d..0ef875b09 100644 --- a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py +++ b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py @@ -60,7 +60,7 @@ for line in f.readlines(): #file is recorded #format 1 title year month day hour min - if db_md[0]: + if int(db_md[0]): file_md["MDATA_KEY_TITLE"] = db_md[2] match = re.search('^.*(?=\-\d{4}\-\d{2}\-\d{2}\-\d{2}:\d{2}:\d{2}\.(mp3|ogg))', file_md["MDATA_KEY_TITLE"]) diff --git a/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py b/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py index 4a42095f1..6541e36cc 100644 --- a/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py +++ b/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py @@ -203,7 +203,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_YEAR'], 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) elif(md['MDATA_KEY_TRACKNUMBER'] == u'unknown'.encode('utf-8')): From 86fa10df3a92fedb85af27d6358d6b7015329d69 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 1 Aug 2011 13:29:19 +0200 Subject: [PATCH 10/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- .../airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py b/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py index 4a42095f1..6541e36cc 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py +++ b/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py @@ -203,7 +203,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_YEAR'], 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) elif(md['MDATA_KEY_TRACKNUMBER'] == u'unknown'.encode('utf-8')): From 7132b0be09405a1fd8d48eefcb44bd1c6ca61294 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 1 Aug 2011 15:33:00 +0200 Subject: [PATCH 11/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- .../upgrades/airtime-1.9.0/media-monitor-upgrade.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py index 0ef875b09..a0256a7f3 100644 --- a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py +++ b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py @@ -53,6 +53,11 @@ pairs = [] f = open('storDump.txt','r') for line in f.readlines(): db_md = line.split("SF_BACKUP_1.9.0") + + #remove newlines. + for item in db_md: + item = item.strip() + logger.debug(db_md) file_md = {} old_filepath = db_md[1] From 63bc511f40ddcab12e95dba116cdaee1f3661152 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 1 Aug 2011 15:58:29 +0200 Subject: [PATCH 12/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- .../airtime-1.9.0/airtimefilemonitor/airtimemetadata.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/airtimemetadata.py b/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/airtimemetadata.py index b9e7164f2..7c9740aec 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/airtimemetadata.py +++ b/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/airtimemetadata.py @@ -144,6 +144,9 @@ class AirtimeMetadata: if isinstance(md['MDATA_KEY_TRACKNUMBER'], basestring): match = re.search('^(\d*/\d*)?', md['MDATA_KEY_TRACKNUMBER']) + self.logger.debug("parsing track number") + self.logger.debug(md['MDATA_KEY_TRACKNUMBER']) + self.logger.debug(match.group(0)) if match.group(0) is not u'': md['MDATA_KEY_TRACKNUMBER'] = int(md['MDATA_KEY_TRACKNUMBER'].split("/")[0]) From 0501aee15bbeb7f126fe05ccf1d60ada008733c4 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 1 Aug 2011 16:20:18 +0200 Subject: [PATCH 13/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- .../airtime-1.9.0/media-monitor-upgrade.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py index a0256a7f3..04e3e62f3 100644 --- a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py +++ b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py @@ -55,8 +55,8 @@ for line in f.readlines(): db_md = line.split("SF_BACKUP_1.9.0") #remove newlines. - for item in db_md: - item = item.strip() + for i in range(0, len(db_md)): + db_md[i] = db_md[i].strip() logger.debug(db_md) file_md = {} @@ -78,8 +78,6 @@ for line in f.readlines(): file_md["MDATA_KEY_CREATOR"] = "Airtime Show Recorder".encode('utf-8') - #mmc.md_manager.save_md_to_file(file_md) - #file is regular audio file #format 0 title artist album track else: @@ -90,9 +88,14 @@ for line in f.readlines(): if match: file_md["MDATA_KEY_TITLE"] = match.group(0) - file_md["MDATA_KEY_CREATOR"] = db_md[3] - file_md["MDATA_KEY_SOURCE"] = db_md[4] - file_md["MDATA_KEY_TRACKNUMBER"] = db_md[5] + if len(db_md[3]) > 0: + file_md["MDATA_KEY_CREATOR"] = db_md[3] + + if len(db_md[4]) > 0: + file_md["MDATA_KEY_SOURCE"] = db_md[4] + + if len(db_md[5]) > 0: + file_md["MDATA_KEY_TRACKNUMBER"] = int(db_md[5]) mmc.md_manager.save_md_to_file(file_md) From aa29afc4382950633e7df17430ab5a5d3024283a Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 1 Aug 2011 16:29:41 +0200 Subject: [PATCH 14/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- .../airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py | 2 +- .../media-monitor/airtimefilemonitor/mediamonitorcommon.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py b/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py index 6541e36cc..d8f1fe1f3 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py +++ b/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/mediamonitorcommon.py @@ -199,7 +199,7 @@ class MediaMonitorCommon: show_hour = title[0] show_min = title[1] show_sec = title[2] - show_name = title[3:] + show_name = '-'.join(title[3:]) new_md = {} new_md["MDATA_KEY_FILEPATH"] = original_path diff --git a/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py b/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py index 6541e36cc..d8f1fe1f3 100644 --- a/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py +++ b/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py @@ -199,7 +199,7 @@ class MediaMonitorCommon: show_hour = title[0] show_min = title[1] show_sec = title[2] - show_name = title[3:] + show_name = '-'.join(title[3:]) new_md = {} new_md["MDATA_KEY_FILEPATH"] = original_path From 7adccb60544adac02ef965aec513db0ec5b46758 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 1 Aug 2011 16:46:28 +0200 Subject: [PATCH 15/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py | 1 + 1 file changed, 1 insertion(+) diff --git a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py index 04e3e62f3..35d0a1356 100644 --- a/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py +++ b/install_minimal/upgrades/airtime-1.9.0/media-monitor-upgrade.py @@ -73,6 +73,7 @@ for line in f.readlines(): if match: file_md["MDATA_KEY_TITLE"] = match.group(0) + file_md["MDATA_KEY_TITLE"] = file_md["MDATA_KEY_TITLE"].replace(" ", "-") file_md["MDATA_KEY_TITLE"] = db_md[6]+"-"+db_md[7]+"-00-"+file_md["MDATA_KEY_TITLE"] file_md["MDATA_KEY_YEAR"] = db_md[3]+"-"+db_md[4]+"-"+db_md[5] From 7e64e1ba228e1a544521add80608f7adc76597d2 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 1 Aug 2011 18:10:50 +0200 Subject: [PATCH 16/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade testing saving non ascii characters to file. --- .../airtimefilemonitor/airtimemetadata.py | 12 +++++++----- .../airtimefilemonitor/airtimemetadata.py | 9 +++++++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/airtimemetadata.py b/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/airtimemetadata.py index 7c9740aec..01fede71c 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/airtimemetadata.py +++ b/install_minimal/upgrades/airtime-1.9.0/airtimefilemonitor/airtimemetadata.py @@ -91,8 +91,13 @@ class AirtimeMetadata: for key in m.keys() : if key in self.airtime2mutagen: value = m[key] - if ((value is not None) and (len(str(value)) > 0)): - airtime_file[self.airtime2mutagen[key]] = str(value) + if (value is not None): + self.logger.debug("Saving %s to file", key) + self.logger.debug(value) + if isinstance(value, basestring) and (len(value) > 0): + airtime_file[self.airtime2mutagen[key]] = unicode(value, "utf-8") + elif isinstance(value, int): + airtime_file[self.airtime2mutagen[key]] = str(value) airtime_file.save() @@ -144,9 +149,6 @@ class AirtimeMetadata: if isinstance(md['MDATA_KEY_TRACKNUMBER'], basestring): match = re.search('^(\d*/\d*)?', md['MDATA_KEY_TRACKNUMBER']) - self.logger.debug("parsing track number") - self.logger.debug(md['MDATA_KEY_TRACKNUMBER']) - self.logger.debug(match.group(0)) if match.group(0) is not u'': md['MDATA_KEY_TRACKNUMBER'] = int(md['MDATA_KEY_TRACKNUMBER'].split("/")[0]) diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimemetadata.py b/python_apps/media-monitor/airtimefilemonitor/airtimemetadata.py index b9e7164f2..01fede71c 100644 --- a/python_apps/media-monitor/airtimefilemonitor/airtimemetadata.py +++ b/python_apps/media-monitor/airtimefilemonitor/airtimemetadata.py @@ -91,8 +91,13 @@ class AirtimeMetadata: for key in m.keys() : if key in self.airtime2mutagen: value = m[key] - if ((value is not None) and (len(str(value)) > 0)): - airtime_file[self.airtime2mutagen[key]] = str(value) + if (value is not None): + self.logger.debug("Saving %s to file", key) + self.logger.debug(value) + if isinstance(value, basestring) and (len(value) > 0): + airtime_file[self.airtime2mutagen[key]] = unicode(value, "utf-8") + elif isinstance(value, int): + airtime_file[self.airtime2mutagen[key]] = str(value) airtime_file.save() From 4529e7a6295760c3ae07205260fdd9476c247d13 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 1 Aug 2011 18:13:38 +0200 Subject: [PATCH 17/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php index 8d2d98140..19515d474 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php @@ -672,7 +672,7 @@ class Airtime190Upgrade{ $cwd = __DIR__; $mediaMonitorUpgradePath = __DIR__."/media-monitor-upgrade.py"; - $command = "cd $cwd && su -c \"python $mediaMonitorUpgradePath\""; + $command = "cd $cwd && \"python $mediaMonitorUpgradePath\""; exec($command, $output); print_r($output); From 8c4eb56f52242e6c6949e5a2045e25a3bce48d17 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Mon, 1 Aug 2011 18:26:45 +0200 Subject: [PATCH 18/18] CC-2612 : Upgrade: Push DB metadata into the file before upgrade --- install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php index 19515d474..65a57b162 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php @@ -672,7 +672,7 @@ class Airtime190Upgrade{ $cwd = __DIR__; $mediaMonitorUpgradePath = __DIR__."/media-monitor-upgrade.py"; - $command = "cd $cwd && \"python $mediaMonitorUpgradePath\""; + $command = "cd $cwd && python $mediaMonitorUpgradePath"; exec($command, $output); print_r($output);