diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index c474f6639..7de2dc274 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -55,6 +55,8 @@ class LibraryController extends Zend_Controller_Action $id = $this->_getParam('id'); $type = $this->_getParam('type'); + $request = $this->getRequest(); + $baseUrl = $request->getBaseUrl(); $params = '/format/json/id/#id#/type/#type#'; @@ -79,7 +81,7 @@ class LibraryController extends Zend_Controller_Action $file_id = $this->_getParam('id', null); $file = StoredFile::Recall($file_id); - $url = $file->getRelativeFileUrl().'/api_key/'.$CC_CONFIG["apiKey"][0].'/download/true'; + $url = $file->getRelativeFileUrl($baseUrl).'/api_key/'.$CC_CONFIG["apiKey"][0].'/download/true'; $menu[] = array('action' => array('type' => 'gourl', 'url' => $url), 'title' => 'Download'); diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php index 951591d47..a6f79b1c8 100644 --- a/airtime_mvc/application/models/StoredFile.php +++ b/airtime_mvc/application/models/StoredFile.php @@ -449,10 +449,9 @@ class StoredFile { * Sometimes we want a relative URL and not a full URL. See bug * http://dev.sourcefabric.org/browse/CC-2403 */ - public function getRelativeFileUrl() + public function getRelativeFileUrl($baseUrl) { - global $CC_CONFIG; - return "api/get-media/file/".$this->getGunId().".".$this->getFileExtension(); + return $baseUrl."/api/get-media/file/".$this->getGunId().".".$this->getFileExtension(); } public static function Insert($md=null) diff --git a/airtime_mvc/application/views/scripts/playlist/update.phtml b/airtime_mvc/application/views/scripts/playlist/update.phtml index c7e80f56d..e9a4c41d4 100644 --- a/airtime_mvc/application/views/scripts/playlist/update.phtml +++ b/airtime_mvc/application/views/scripts/playlist/update.phtml @@ -6,7 +6,7 @@ if (count($items)) : ?>
  • ', + onclick="audioPreview('', 'spl_')">
    diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py b/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py index c8607b1a9..25053362d 100644 --- a/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py +++ b/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py @@ -27,13 +27,26 @@ class AirtimeNotifier(Notifier): self.import_processes = {} self.watched_folders = [] - schedule_exchange = Exchange("airtime-media-monitor", "direct", durable=True, auto_delete=True) - schedule_queue = Queue("media-monitor", exchange=schedule_exchange, key="filesystem") - self.connection = BrokerConnection(self.config.cfg["rabbitmq_host"], self.config.cfg["rabbitmq_user"], self.config.cfg["rabbitmq_password"], "/") - channel = self.connection.channel() - consumer = Consumer(channel, schedule_queue) - consumer.register_callback(self.handle_message) - consumer.consume() + while not self.init_rabbit_mq(): + logger.error("Error connecting to RabbitMQ Server. Trying again in few seconds") + time.sleep(5) + + def init_rabbit_mq(self): + logger = logging.getLogger('fetch') + logger.info("Initializing RabbitMQ stuff") + try: + schedule_exchange = Exchange("airtime-media-monitor", "direct", durable=True, auto_delete=True) + schedule_queue = Queue("media-monitor", exchange=schedule_exchange, key="filesystem") + self.connection = BrokerConnection(self.config.cfg["rabbitmq_host"], self.config.cfg["rabbitmq_user"], self.config.cfg["rabbitmq_password"], "/") + channel = self.connection.channel() + consumer = Consumer(channel, schedule_queue) + consumer.register_callback(self.handle_message) + consumer.consume() + except Exception, e: + logger.error(e) + return False + + return True def handle_message(self, body, message): # ACK the message to take it off the queue