From 968c0f96a22a848a623607dbd69e6397c48591d9 Mon Sep 17 00:00:00 2001 From: James Date: Tue, 9 Aug 2011 10:40:10 -0400 Subject: [PATCH] CC-2651: import idicator - Threshold is 10 seconds - record timestamp once every 5 seconds - "File import inprogress..." displays above search box - pyinotify read_freq changed to 0.1 from 1 --- airtime_mvc/application/models/MusicDir.php | 2 +- airtime_mvc/application/models/Preference.php | 4 +++- airtime_mvc/application/views/scripts/library/index.phtml | 1 + airtime_mvc/public/js/airtime/library/library.js | 4 +--- python_apps/media-monitor/MediaMonitor.py | 2 +- .../media-monitor/airtimefilemonitor/airtimeprocessevent.py | 5 +++-- 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/airtime_mvc/application/models/MusicDir.php b/airtime_mvc/application/models/MusicDir.php index 3ac977c31..d104ac268 100644 --- a/airtime_mvc/application/models/MusicDir.php +++ b/airtime_mvc/application/models/MusicDir.php @@ -244,7 +244,7 @@ class MusicDir { { if(!is_dir($p_dir)){ return array("code"=>2, "error"=>"'$p_dir' is not a valid directory."); - }else if(Application_Model_Preference::GetImportTimestamp()+10 > $now){ + }else if(Application_Model_Preference::GetImportTimestamp()+10 > time()){ return array("code"=>3, "error"=>"Airtime is currently importing files. Please wait until this is complete before changing the storage directory."); } $dir = self::getStorDir(); diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index 18fe4a919..4d8b10cbe 100644 --- a/airtime_mvc/application/models/Preference.php +++ b/airtime_mvc/application/models/Preference.php @@ -359,7 +359,9 @@ class Application_Model_Preference public static function SetImportTimestamp(){ $now = time(); - Application_Model_Preference::SetValue("import_timestamp", $now); + if(Application_Model_Preference::GetImportTimestamp()+5 < $now){ + Application_Model_Preference::SetValue("import_timestamp", $now); + } } public static function GetImportTimestamp(){ diff --git a/airtime_mvc/application/views/scripts/library/index.phtml b/airtime_mvc/application/views/scripts/library/index.phtml index 7e4082bc0..866cc48ad 100644 --- a/airtime_mvc/application/views/scripts/library/index.phtml +++ b/airtime_mvc/application/views/scripts/library/index.phtml @@ -3,6 +3,7 @@
+ diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js index f93d0b2ad..971bad119 100644 --- a/airtime_mvc/public/js/airtime/library/library.js +++ b/airtime_mvc/public/js/airtime/library/library.js @@ -57,13 +57,11 @@ function confirmDeletePlaylist(params){ function checkImportStatus(){ $.getJSON('/Preference/is-import-in-progress', function(data){ - var div = $('#library_display_processing'); + var div = $('#import_status'); if(data == true){ - div.html("File import in progress..."); div.css('visibility', 'visible'); }else{ div.css('visibility', 'hidden'); - div.html("Processing..."); } }) } diff --git a/python_apps/media-monitor/MediaMonitor.py b/python_apps/media-monitor/MediaMonitor.py index 4535d2474..bda1b15c0 100644 --- a/python_apps/media-monitor/MediaMonitor.py +++ b/python_apps/media-monitor/MediaMonitor.py @@ -64,7 +64,7 @@ try: bootstrap = AirtimeMediaMonitorBootstrap(logger, pe, api_client, mmc) bootstrap.scan() - notifier = AirtimeNotifier(wm, pe, read_freq=1, timeout=0, airtime_config=config, api_client=api_client, bootstrap=bootstrap, mmc=mmc) + notifier = AirtimeNotifier(wm, pe, read_freq=0.1, timeout=0, airtime_config=config, api_client=api_client, bootstrap=bootstrap, mmc=mmc) notifier.coalesce_events() #create 5 worker threads diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py b/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py index a9279f6b5..cc7b6f6b6 100644 --- a/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py +++ b/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py @@ -176,9 +176,10 @@ class AirtimeProcessEvent(ProcessEvent): for event in self.file_events: self.multi_queue.put(event) self.mmc.touch_index_file() - + self.file_events = [] - + #yeild to workder thread + time.sleep(0) #use items() because we are going to be modifying this #dictionary while iterating over it. for k, pair in self.cookies_IN_MOVED_FROM.items():