diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index a02183492..4fff61201 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -426,6 +426,13 @@ class ApiController extends Zend_Controller_Action } $this->view->stor = MusicDir::getStorDir()->getDirectory(); + + $watchedDirs = MusicDir::getWatchedDirs(); + $watchedDirsPath = array(); + foreach($watchedDirs as $wd){ + $watchedDirsPath[] = $wd->getDirectory(); + } + $this->view->watched_dirs = $watchedDirsPath; } public function reloadMetadataAction() { diff --git a/install_minimal/include/airtime-upgrade.php b/install_minimal/include/airtime-upgrade.php index cc1f05746..02c6adc35 100644 --- a/install_minimal/include/airtime-upgrade.php +++ b/install_minimal/include/airtime-upgrade.php @@ -44,29 +44,6 @@ if (PEAR::isError($CC_DBC)) { $CC_DBC->setFetchMode(DB_FETCHMODE_ASSOC); } -/* -$sql = "SELECT valstr FROM cc_pref WHERE keystr = 'system_version'"; -$version = $CC_DBC->GetOne($sql); - -if (PEAR::isError($version)) { - $version = false; -} - -if (!$version){ - - $sql = "SELECT * FROM cc_show_rebroadcast LIMIT 1"; - $result = $CC_DBC->GetOne($sql); - if (!PEAR::isError($result)) { - $version = "1.7.0"; - echo "Airtime Version: ".$version." ".PHP_EOL; - } - else { - $version = "1.6"; - echo "Airtime Version: ".$version." ".PHP_EOL; - } -} -*/ - $version = AirtimeInstall::GetVersionInstalled(); echo "******************************** Update Begin *********************************".PHP_EOL; diff --git a/python_apps/media-monitor/MediaMonitor.py b/python_apps/media-monitor/MediaMonitor.py index bda1b15c0..dadb1e65e 100644 --- a/python_apps/media-monitor/MediaMonitor.py +++ b/python_apps/media-monitor/MediaMonitor.py @@ -43,6 +43,7 @@ try: time.sleep(5) storage_directory = apc.encode_to(response["stor"], 'utf-8') + watched_dirs = apc.encode_to(response["watched_dirs"], 'utf-8') logger.info("Storage Directory is: %s", storage_directory) config.storage_directory = os.path.normpath(storage_directory) config.imported_directory = os.path.normpath(storage_directory + '/imported') @@ -77,6 +78,11 @@ try: wdd = notifier.watch_directory(storage_directory) logger.info("Added watch to %s", storage_directory) logger.info("wdd result %s", wdd[storage_directory]) + + for dir in watched_dirs: + wdd = notifier.watch_directory(dir) + logger.info("Added watch to %s", dir) + logger.info("wdd result %s", wdd[dir]) notifier.loop(callback=pe.notifier_loop_callback) diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py b/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py index 720f518a7..f6952e82c 100644 --- a/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py +++ b/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py @@ -30,7 +30,6 @@ class AirtimeNotifier(Notifier): self.wm = watch_manager self.mask = pyinotify.ALL_EVENTS - while not self.init_rabbit_mq(): self.logger.error("Error connecting to RabbitMQ Server. Trying again in few seconds") time.sleep(5) diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py b/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py index cc7b6f6b6..56b320272 100644 --- a/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py +++ b/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py @@ -102,6 +102,8 @@ class AirtimeProcessEvent(ProcessEvent): #we don't care about moved_from events from the organize dir. if self.mmc.is_audio_file(event.name): self.cookies_IN_MOVED_FROM[event.cookie] = (event, time.time()) + else: + self.cookies_IN_MOVED_FROM[event.cookie] = event.pathname #Some weird thing to note about this event: it seems that if a file is moved to a newly @@ -141,17 +143,23 @@ class AirtimeProcessEvent(ProcessEvent): #When we move a directory into a watched_dir, we only get a notification that the dir was created, #and no additional information about files that came along with that directory. #need to scan the entire directory for files. + + if event.cookie in self.cookies_IN_MOVED_FROM: + del self.cookies_IN_MOVED_FROM[event.cookie] + mode = self.config.MODE_MOVED + else: + mode = self.config.MODE_CREATE + files = self.mmc.scan_dir_for_new_files(event.pathname) if self.mmc.is_parent_directory(event.pathname, self.config.organize_directory): for file in files: - self.mmc.organize_new_file(file) + filepath = self.mmc.organize_new_file(file) + if (filepath is not None): + self.file_events.append({'mode': mode, 'filepath': filepath}) else: for file in files: - if self.mmc.is_parent_directory(pathname, self.config.recorded_directory): - is_recorded = True - else : - is_recorded = False - self.file_events.append({'mode': self.config.MODE_CREATE, 'filepath': file, 'is_recorded_show': is_recorded}) + self.file_events.append({'mode': mode, 'filepath': file}) + def process_IN_DELETE(self, event): self.logger.info("process_IN_DELETE: %s", event)